home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-11-25 | 70.9 KB | 2,575 lines |
- Przes│anianie hase│ (Shadow Password)
- Autor: Michael H. Jackson, mhjack@tscnet.com
- v1.3, 3 Kwietnia 1996
- Wersja polska: Bartosz Maruszewski
- B.Maruszewski@zsmeie.torun.pl
- v1.02, 26 Lipca 1997
-
-
- Dokument ten opisuje jak zdobyµ, zainstalowaµ i skonfigurowaµ pakiet
- Shadow Password dla Linux-a. Om≤wione zosta│o tutaj tak┐e zdobywanie i
- (ponowna) instalacja oprogramowania oraz demon≤w sieciowych, kt≤re
- potrzebuj▒ dostΩpu do hase│ u┐ytkownika. Oprogramowanie to nie jest
- w│a╢ciw▒ czΩ╢ci▒ pakietu Shadow Suite, ale bΩd▒ one musia│y zostaµ
- przekompilowane, aby m≤c korzystaµ z hase│. Jest tutaj tak┐e zawarty
- przyk│ad dla programist≤w, jak dodawaµ obs│ugΩ przes│anianych hase│ w
- swoich programach. Pod koniec dokumentu zawarte zosta│y odpowiedzi na
- czΩsto zadawane pytania. Dokument ten zosta│ napisany w standardzie
- ISO-8859-2. Orygina│ mo┐na znale╝µ pod adresem ftp.icm.edu.pl w kata¡
- logu /pub/Linux/sunsite/docs/HOWTO.
- ______________________________________________________________________
-
- Table of Contents
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1. Wprowadzenie.
-
- 1.1 Zmiany w stosunku do poprzedniej wersji.
- 1.2 Nowe wersje tego dokumentu.
- 1.3 Komentarze.
-
- 2. Po co przes│aniaµ plik passwd ?
-
- 2.1 Czemu mo┐esz nie chcieµ przes│aniaµ swojego pliku z has│ami ?
- 2.2 Format pliku /etc/passwd.
- 2.3 Format pliku przes│aniaj▒cego.
- 2.4 Przegl▒d funkcji crypt(3).
-
- 3. Zdobywanie pakietu Shadow Suite.
-
- 3.1 Historia pakietu Shadow Suite dla Linux-a.
- 3.2 Gdzie znale╝µ pakiet Shadow Suite.
- 3.3 Co jest zawarte w pakiecie Shadow Suite.
-
- 4. Kompilacja program≤w.
-
- 4.1 Rozpakowywanie archiw≤w.
- 4.2 Konfiguracja w pliku config.h
- 4.3 Kopie zapasowe twoich oryginalnych program≤w.
- 4.4 Polecenie make
-
- 5. Instalacja
-
- 5.1 Zaopatrz siΩ w dyskietkΩ startow▒ w razie gdyby╢ co╢ popsu│.
- 5.2 Usuwanie zduplikowanych stron podrΩcznika systemowego.
- 5.3 Polecenie make install
- 5.4 Polecenie pwconv
- 5.5 Zmiany nazw plik≤w npasswd i nshadow
-
- 6. Inne programy, kt≤re mo┐e musisz uaktualniµ albo "za│ataµ".
-
- 6.1 Program adduser z dystrybucji Slackware.
- 6.2 Serwer wu[lowbar]ftpd.
- 6.3 Standardowy ftpd.
- 6.4 pop3d (Post Office Protocol 3)
- 6.5 xlock
- 6.6 xdm
- 6.7 sudo
- 6.8 imapd (E-Mail
- 6.9 pppd (Serwer Protoko│u Point-to-Point)
-
- 7. Wprowadzanie pakietu Shadow Suite do u┐ycia.
-
- 7.1 Dodawanie, Modyfikacja i usuwanie u┐ytkownik≤w.
- 7.1.1 useradd.
- 7.1.2 usermod.
- 7.1.3 userdel.
- 7.2 Polecenie passwd i "termin wa┐no╢ci" has│a.
- 7.3 Plik login.defs
- 7.4 Has│a dla grup.
- 7.5 Programy do sprawdzania poprawno╢ci.
- 7.5.1 pwck
- 7.5.2 grpck
- 7.6 Has│a przez telefon. (Dial-up)
-
- 8. Obs│uga przes│anianych hase│ w programach w C.
-
- 8.1 Pliki nag│≤wkowe.
- 8.2 Biblioteka libshadow.a
- 8.3 Struktura Shadow.
- 8.4 Funkcje pakietu Shadow Suite.
- 8.5 Przyk│ad.
-
- 9. CzΩsto zadawane pytania.
-
- 10. Prawa autorskie podziΩkowania i r≤┐ne.
-
- 10.1 Prawa autorskie
- 10.2 PodziΩkowania i r≤┐ne.
- 10.3 Od t│umacza.
-
-
- ______________________________________________________________________
-
- 1. Wprowadzenie.
-
-
- Jest to dokument z serii HOWTO (czyli Jak To Zrobiµ). Opisuje on jak i
- dlaczego instalowaµ obs│ugΩ "shadow password" na swoim Linux-ie.
- Zawarte jest tak┐e kilka przyk│ad≤w na u┐ywanie pewnych w│a╢ciwo╢ci
- pakietu Shadow Suite.
-
- Podczas instalacji pakietu oraz u┐ywania jego narzΩdzi musisz byµ
- zalogowany jako "root". Podczas instalacji bΩdziesz dokonywa│ pewnych
- zmian do oprogramowania systemowego i zalecane jest, aby╢ zrobi│ kopiΩ
- tego oprogramowania. Zalecam te┐, aby╢ przeczyta│ i zrozumia│
- wszystkie instrukcje zawarte tutaj zanim zaczniesz.
-
-
- 1.1. Zmiany w stosunku do poprzedniej wersji.
-
-
-
- Dodane sekcje:
- Doda│em sekcjΩ na temat dlaczego m≤g│by╢ niechcieµ instalowaµ
- pakietu Shadow Suite.
- Doda│em sekcjΩ jak uaktualniµ xdm-a.
- Doda│em sekcjΩ jak zmusiµ do dzia│ania specjalne w│a╢ciwo╢ci pakietu
- Shadow Suite.
- Doda│em sekcjΩ zawieraj▒c▒ czΩsto zadawane pytania.
-
- Poprawki/Uaktualnienia:
- Poprawi│em odwo│ania html do sunsite-a.
- Poprawi│em sekcjΩ na temat wu-ftpd, aby odzwierciedla│a dodawanie
- -lshadow do pliku Makefile.
- Poprawi│em kilka liter≤wek.
- Zmieni│em sekcjΩ na temat wu-ftpd, aby obs│ugiwa│ ELF.
- Uaktualni│em ca│y dokument, aby odzwierciedla│ problemy bezpiecze±stwa
- w r≤┐nych programach.
- Doda│em rekomendacjΩ pakietu Linux Shadow Suite napisanego
- przez Marka Micha│kiewicza
-
-
-
-
- 1.2. Nowe wersje tego dokumentu.
-
-
- Najnowsz▒ wersjΩ orygina│u tego dokumentu mo┐na ╢ci▒gn▒µ z
- ftp.icm.edu.pl z katalogu /pub/Linux/sunsite/docs/HOWTO. Inne formaty
- znajduj▒ siΩ w katalogu other-formats. Albo poprzez sieµ WWW z
- sunsite.icm.edu.pl
- <http://sunsite.icm.edu.pl:/pub/Linux/Documentation>. Mo┐na te┐
- bezpo╢rednio od autora <mailto:mhjack@tscnet.com>. Autor bΩdzie te┐
- wysy│a│ nowe wersje na grupΩ dyskusyjn▒ comp.os.linux.answers
-
-
- Dokument ten jest tak┐e rozprowadzany wraz z dystrybucj▒ pakietu
- Shadow-YYDDMM.
-
- Na temat nowych wersji t│umaczenia zobacz sekcjΩ ``Od t│umacza''.
-
-
- 1.3. Komentarze.
-
-
- ProszΩ wszelkie komentarze, uaktualnienia czy sugestie wysy│aµ do mnie
- <mailto:mhjack@tscnet.com>. Im szybciej otrzymam pocztΩ tym szybciej
- mogΩ poprawiµ ten dokument. Je╢li masz jakie╢ uwagi na jego temat, to
- wy╢lij je bezpo╢rednio do mnie, poniewa┐ bardzo rzadko odwiedzam grupy
- dyskusyjne.
-
-
- 2. Po co przes│aniaµ plik passwd ?
-
-
- W chwili obecnej wiΩkszo╢µ dystrybucji Linux-a nie instaluje domy╢lnie
- pakietu Shadow Suite. Dotyczy to Slackware 2.3, Slackware 3.0 i innych
- popularnych dystrybucji. Jednym z powod≤w tego jest to, ┐e je╢li
- zap│acono jak▒╢ kwotΩ za Shadow Suite to prawa co do redystrybucji nie
- by│y do ko±ca jasne. Linux u┐ywa licencji GNU, kt≤ra pozwala na
- umieszczanie go w dowolnych pakietach (jak np. dystrybucje CD-ROM) i
- pobieranie za nie op│aty.
-
- Obecny opiekun pakietu Shadow Suite, Marek Micha│kiewicz
- <mailto:marekm@ists.pwr.wroc.pl> otrzyma│ ╝r≤d│a orygina│u na licencji
- w stylu BSD, kt≤ra pozwala na dystrybucjΩ. Teraz, kiedy ju┐ sprawy
- praw kopiowania s▒ rozwi▒zane, spodziewane jest, ┐e przysz│e
- dystrybucje bΩd▒ zawieraµ domy╢lnie przes│anianie hase│. Jednak do
- tego czasu, bΩdziesz musia│ je samemu instalowaµ.
-
- Je╢li instalowa│e╢ swoj▒ dystrybucjΩ z CD-ROM-u, to pomimo, ┐e
- dystrybucja nie zainstalowa│a Shadow Suite niekt≤re pliki, kt≤rych
- potrzebujesz mog▒ siΩ znajdowaµ na CD-ROM-ie.
-
- Wersje pakietu 3.3.1, 3.3.1-2 i shadow-mk maj▒ problemy dotycz▒ce
- bezpiecze±stwa ze swoim programem login i kilkoma innymi programami
- typu suid root i nie powinny byµ ju┐ u┐ywane.
-
- Wszystkie potrzebne pliki s▒ dostΩpne poprzez anonimowane ftp oraz
- WWW.
-
- W Linux-ie bez zainstalowanego pakietu Shadow Suite informacje o
- u┐ytkowniku wraz z has│em trzymane s▒ w pliku /etc/passwd. Has│o
- znajduje siΩ tam w formie zakodowanej (encrypted). Jednak je╢li
- spytasz jakiego╢ eksperta od kryptografii, to powie ci on/ona, ┐e
- has│o jest w postaci "encoded", a nie "encrypted" poniewa┐ u┐ywaj▒c
- funkcji crypt(3), tekstowi jest przypisywany │a±cuch pusty a has│o
- jest kluczem. Dlatego, od tego momentu bΩdΩ u┐ywa│ okre╢lenia
- "encoded".
-
- Algorytm u┐ywany do kodowania has│a jest technicznie okre╢lany jako
- algorytm dzia│aj▒cy w jedn▒ stronΩ. Jest to algorytm, kt≤ry jest │atwy
- do zastosowania w jedn▒ stronΩ, ale bardzo trudny do z│amania. WiΩcej
- na ten temat znajdziesz w sekcji ``2.4'' albo na stronie podrΩcznika
- systemowego dotycz▒cej funkcji crypt(3).
-
- Kiedy u┐ytkownik wybiera has│o, albo jest mu ono przydzielone, jest
- ono kodowane losowo generowan▒ warto╢ci▒ zwan▒ salt (s≤l). Oznacza to,
- ┐e ka┐de has│o mo┐e zostaµ zakodowane na 4096 sposob≤w. Warto╢µ salt
- jest potem zapisywana razem z zakodowanym has│em.
-
-
- Kiedy u┐ytkownik siΩ wlogowuje i podaje has│o, najpierw pobierana jest
- warto╢µ salt z zakodowanego has│a. NastΩpnie pobrane has│o zostaje
- zakodowane pobran▒ warto╢ci▒, i por≤wnane z zapisanym zakodowanym
- has│em. Je╢li │a±cuchy te s▒ identyczne, to u┐ytkownik zostaje
- "wpuszczony" do systemu. Jest bardzo trudno (ale nie jest to
- niemo┐liwe) wzi▒µ losowo zakodowane has│o i otrzymaµ has│o
- rozkodowane. Chocia┐, w ka┐dym systemie z wiΩksz▒ liczb▒ u┐ytkownik≤w,
- przynajmniej kilka hase│ bΩdzie zwyk│ymi s│owami albo jak▒╢ wariacj▒
- zwyk│ych s│≤w.
-
- W│amywacze wiΩdz▒ o tym wszystkim i po prostu koduj▒ s│ownik ze
- s│owami i popularnymi has│ami wszytkimi mo┐liwymi warto╢ciami salt.
- Potem por≤wnaj▒ wyniki z zawarto╢ci▒ twojego pliku /etc/passwd. Jak
- znajd▒ jaki╢ identyczny │a±cuch, to maj▒ has│o na nastΩpne konto.
- Nazywane jest to atakiem s│ownikowym i jest to jeden z
- najpopularniejszych sposob≤w na pozyskiwanie dostΩpu do systemu przez
- osoby nieuprawnione.
-
- Je╢li siΩ nad tym zastanowisz, to zobaczysz, ┐e 8-znakowe has│o mo┐e
- zostaµ zakodowane na 4096 * 13 sposob≤w. Tak wiΩc s│ownik sk│adaj▒cy
- siΩ powiedzmy z 400.000 popularnych s│≤w, nazw, imion, hase│ i ich
- prostych wariacji zmie╢ci│by siΩ z │atwo╢ci▒ na dysku o pojemno╢ci
- 4GB. W│amywacz musi go tylko posortowaµ i sprawdziµ czy kt≤ry╢ z
- │a±cuch≤w nie jest has│em. Dysk o pojemno╢ci 4GB mo┐na kupiµ za ok.
- 1000 dolar≤w, tak wiΩc mie╢ci siΩ to w mo┐liwo╢ciach wiΩkszo╢ci
- w│amywaczy systemowych.
-
- Je╢li w│amywacz zdobΩdzie tw≤j plik /etc/passwd, to musi on zakodowaµ
- sw≤j s│ownik kluczem, kt≤ry znajduje siΩ w tym pliku. Metoda ta mo┐e
- byµ wykorzystana przez przeciΩtnego nastolatka z kilkoma megabajtami
- na dysku i komputerem klasy 486.
-
- Nawet bez du┐ej ilo╢ci wolnego miejsca na dysku, narzΩdzia takie jak
- crack(1) mog▒ zwykle z│amaµ przynajmniej kilka hase│ z systemu z
- dostatecznie du┐▒ ilo╢ci▒ u┐ytkownik≤w (zak│adaj▒c, ┐e u┐ytkownicy
- maj▒ mo┐liwo╢µ samemu wybieraµ sobie has│a).
-
- Plik /etc/passwd zawiera tak┐e takie informacje jak ID u┐ytkownika i
- ID grupy, kt≤re s▒ u┐ywane przez wiΩkszo╢µ program≤w. Dlatego plik
- /etc/passwd musi pozostaµ odczytywalny dla ka┐dego. Je╢li chcia│e╢
- w│a╢nie zmieniµ prawa dostΩpu do pliku /etc/passwd tak, ┐eby nikt nie
- m≤g│ go czytaµ (opr≤cz "root-a"), to pierwszym symptomem jaki by╢
- zauwa┐y│, to to, ┐e przy wydaniu polecenia ls -l pojawi│yby siΩ numery
- zamiast nazw u┐ytkownik≤w.
-
- Pakiet Shadow Suite rozwi▒zuje ten problem poprzez umieszczenie hase│
- w innym pliku (z regu│y jest to /etc/shadow). Plik /etc/shadow ma tak
- ustawione prawa dostΩpu, ┐e nie mo┐e go czytaµ nikt, opr≤cz "root-a".
- Niekt≤re programy jak np. xlock, nie musz▒ mieµ mo┐liwo╢ci zmiany
- hase│, ale tylko ich odczytu. Programy te mog▒ albo byµ uruchamiane z
- prawem "suid root", albo mo┐esz dodaµ grupΩ shadow, kt≤ra mia│aby
- tylko prawo odczytu pliku /etc/shadow. Program ten mo┐e wtedy nale┐eµ
- do grupy "shadow" i byµ uruchamiany z prawem "sgid".
-
- Przenosz▒c zakodowane has│a do innego pliku, efektywnie zabraniamy
- w│amywaczom dostΩpu do nich, co uniemo┐liwia ataki s│ownikowe.
-
- Dodatkowo pakiet Shadow Suite posiada wiele innych zalet:
-
- ╖ Plik konfiguracyjny, w kt≤rym mo┐na ustawic warto╢ci domy╢lne
- podczas logowania (/etc/login.defs)
-
- ╖ NarzΩdzia do dodawania, modyfikacji i usuwania kont i grup.
-
- ╖ Ustalanie "daty wa┐no╢ci" konta i jego wygasanie (expiration).
-
- ╖ Przes│anianie hase│ dla grup. (opcjonalnie)
-
- ╖ Has│a o podw≤jnej d│ugo╢ci (16 znak≤w) [NIE ZALECANE]
-
- ╖ Lepsza kontrola nad wybieraniem hase│ przez u┐ytkownik≤w.
-
- ╖ Has│a przez telefon.
-
- ╖ Programy do dodatkowej autentykacji [NIE ZALECANE]
-
- Instalacja pakietu Shadow Suite przyczynia siΩ do zwiΩkszenia
- bezpiecze±stwa sieci opartej na Linux-ie, ale pozostaje jeszcze wiele
- innych rzeczy do zrobienia, aby zwiΩkszyµ bezpiecze±stwo takiej sieci.
- Z czasem pojawi siΩ seria HOWTO po╢wiΩcona bezpiecze±stwu.
-
- Na stronie po╢wiΩconej bezpiecze±stwu w Linux-ie
- <http://bach.cis.temple.edu/linux/linux-security/> zawarte s▒ r≤┐ne
- informacje na ten temat jak r≤wnie┐ ostrze┐enia o znanych dziurach w
- systemie.
-
-
- 2.1. Czemu mo┐esz nie chcieµ przes│aniaµ swojego pliku z has│ami ?
-
-
- Jest kilka okoliczno╢ci i konfiguracji, w kt≤rych instalacja pakietu
- Shadow Suite nie by│aby dobrym pomys│em:
-
-
- ╖ Maszyna nie zawiera kont u┐ytkownik≤w.
-
- ╖ Twoja maszyna jest w sieci LAN i u┐ywa NIS (Network Information
- Services), aby obs│ugiwaµ nazwy u┐ytkownik≤w i has│a na innych
- maszynach w tej samej sieci. (W│a╢ciwie mog│oby to byµ zrobione,
- ale wykracza poza ramy tego dokumentu i nie zwiΩkszy│oby
- bezpiecze±stwa w znacznym stopniu.)
-
- ╖ Twoja maszyna jest u┐ywana przez serwery terminali, aby weryfikowaµ
- u┐ytkownik≤w poprzez NFS (Network File System), NIS albo jak▒╢ inn▒
- metodΩ.
-
- ╖ Na twojej maszynie znajduje siΩ inne oprogramowanie, kt≤re
- autentykuje u┐ytkownik≤w, a nie ma wersji tego oprogramowania dla
- shadow i nie masz ╝r≤de│.
-
-
- 2.2. Format pliku /etc/passwd.
-
-
- Nieprzes│oniΩty plik /etc/passwd ma nastΩpuj▒cy format:
-
-
- identyfikator:has│o:UID:GID:imie_nazw:katalog:pow│oka
-
-
-
- Gdzie:
-
- identyfikator
- Nazwa (login) u┐ytkownika
-
- has│o
- Zakodowane has│o
-
- UID
- Numer u┐ytkownika
-
- GID
- Numer domy╢lnej grupy dla u┐ytkownika
-
- imie_nazw
- ImiΩ i nazwisko u┐ytkownika - W│a╢ciwie pole to nazywa siΩ GECOS
- (General Electric Comprehensive Operating System) i mog▒ tam byµ
- zapisane inne dane ni┐ tylko imiΩ i nazwisko Polecenia Shadow i
- strony podrΩcznika systemowego nazywaj▒ to pole polem
- komentarza.
-
- katalog
- Katalog domowy u┐ytkownika (pe│na ╢cie┐ka)
-
- pow│oka
- Pow│oka dla danego u┐ytkownika (pe│na ╢cie┐ka)
-
- Na przyk│ad:
-
-
- login:Nkjg97jh7yff8:503:100:ImiΩ Nazwisko:/home/login:/bin/bash
-
-
-
- Gdzie Nk jest wartoci▒ salt a jg97jh7yff8 jest zakodowanym has│em.
- Zakodowane has│o z kluczem mog│oby r≤wnie dobrze wygl▒daµ tak:
- ghHFgj75fR8iP a te dwa │a±cuchy to dok│anie te same has│a. Jest 4096
- mo┐liwo╢ci zakodowania pojedynczego has│a. {Przyk│adowym has│em jest
- tutaj
-
- Jak ju┐ pakiet Shadow Suite jest zainstalowany, to plik /etc/passwd
- zawiera:
-
-
- login:x:503:100:ImiΩ Nazwisko:/home/login:/bin/bash
-
-
-
- Znaczek "x" w tym przypadku jest po prostu czym╢ co wype│nia miejsce
- has│a. Format pliku /etc/passwd siΩ nie zmieni│, zmieni│o siΩ tylko
- miejsce przechowywania zakodowanego has│a. Oznacza to, ┐e ka┐dy
- program, kt≤ry tylko czyta plik /etc/passwd,a nie zapisuje w nim
- has│a, bΩdzie nadal dzia│a│ poprawnie.
-
- Has│a znajduj▒ siΩ obecnie w pliku /etc/shadow. (jest to domy╢lna
- nazwa)
-
-
- 2.3. Format pliku przes│aniaj▒cego.
-
-
- Plik /etc/shadow zawiera nastΩpuj▒ce informacje:
-
-
- login:has│o:ostatnio_1970:mo┐e:musi:ostrz:dni:dni_1970:zarez
-
-
-
- Gdzie:
-
-
- login
- patrz /etc/passwd
-
- has│o
- Zakodowane has│o
-
- ostatnio_1970
- Ilo╢µ dni od 1 Stycznia 1970, kiedy has│o by│o ostatnio
- modyfikowane
-
- mo┐e
- Ilo╢µ dni w przeci▒gu, kt≤rych has│o mo┐e byµ zmienione
-
- musi
- Ilo╢µ dni, po kt≤rej has│o musi zostaµ zmienione
-
- ostrz
- Ilo╢µ dni przed wyga╢niΩciem has│a od jakiej nale┐y zacz▒µ
- informowaµ u┐ytkownika o wyga╢niΩciu has│a.
-
- dni
- Ilo╢µ dni, po kt≤rej has│o wygasa i konto jest blokowane
-
- dni_1970
- Ilo╢µ dni od 1 Stycznia 1970, po kt≤rej konto jest blokowane
-
- zarez
- Pole zarezerwowane
-
- Poprzedni przyk│ad m≤g│ wiΩc wygl▒daµ tak:
-
-
- login:Nkjg97jh7yff8:9479:0:10000::::
-
-
-
-
- 2.4. Przegl▒d funkcji crypt(3).
-
-
- Ze strony podrΩcznika systemowego "man":
-
- "crypt jest funkcj▒ koduj▒c▒ has│o. Oparta jest na algorytmie DES
- (Data Encryption Standard) z dozwolonymi wariacjami (miΩdzy innymi),
- aby zniechΩciµ do sprzΩtowych rozwi▒za± poszukiwania klucza.
-
- Kluczem jest podane przez u┐ytkownika has│o. [Zakodowany │a±cuch jest
- warto╢ciami NULL]
-
- Salt jest │a±cuchem 2-znakowym wybranym ze zbioru [a-zA-Z0-9]. úa±uch
- ten jest u┐yty po to, aby zaburzyµ algorytm w jeden z 4096 sposob≤w.
-
- Bior▒c 7 najmniej znacz▒cych bit≤w ka┐dego znaku z klucza otrzymujemy
- 56-bitowy klucz. Ten 56-bitowy klucz jest u┐ywany, do powt≤rnego
- kodowania sta│ego │a±cucha (zwykle s▒ to znaki NULL). Zwr≤cona warto╢µ
- wskazuje na zakodowane has│o - seriΩ 13 drukowalnych znak≤w ASCII (dwa
- pierwsze znaki reprezentuj▒ warto╢µ salt). Warto╢µ zwracana wskazuje
- na sta│e dane, kt≤rych zawarto╢µ jest zmieniana przy ka┐dym wywo│aniu.
-
- Uwaga: Liczba mo┐liwych warto╢ci klucza to 2^56 = 7,2E16 (oko│o 72
- biliard≤w). Wyczerpuj▒ce poszukiwania tego klucza s▒ mo┐liwe przy
- wykorzystaniu wielu r≤wnolegle wsp≤│pracuj▒cych komputer≤w.
- Oprogramowanie, takie jak crack(1), jest dostΩpne i szuka ono takich
- kluczy, kt≤re z regu│y u┐ywane s▒ przez ludzi. Dlatego w│a╢nie przy
- wybieraniu has│a powinno siΩ unikaµ przynajmniej zwyk│ych s│≤w. Zaleca
- siΩ, u┐ywanie programu passwd(1), kt≤re podczas zmiany has│a sprawdza
- czy nowe has│o nie jest przesadnie proste.
-
- Algorytm DES ma w sobie pewne kruczki, kt≤re czyni▒ u┐ycie interfejsu
- crypt(3) bezu┐ytecznym w przypadku innym ni┐ autentykacja hase│. Je╢li
- masz zamiar u┐ywaµ interfejsu crypt(3) do kryptografii nie r≤b tego:
- zdob▒d╝ dobr▒ ksi▒┐kΩ na temat kodowania (encryption) i jedn▒ z
- szeroko dostΩpnych bibliotek DES."
-
- WiΩkszo╢µ pakiet≤w Shadow Suite zawiera kod zwiΩkszaj▒cy ilo╢µ znak≤w
- w ha╢le do 16. Eksperci od DES-a s▒ temu przeciwni, poniewa┐ w takim
- przypadku kodowanie najpierw odbywa siΩ dla lewej strony d│u┐szego
- has│a, a potem dla prawej strony. Z powodu tego jak dzia│a crypt, mo┐e
- to stworzyµ mniej bezpiecznie zakodowane has│o ni┐ wtedy, gdy u┐yte
- zosta│oby has│o kr≤tsze. Dodatkowo, jest ma│o prawdopodobne, ┐eby
- u┐ytkownik by│ w stanie zapamiΩtaµ has│o 16-znakowe.
-
- Trwaj▒ w tej chwili prace, kt≤re maj▒ na celu zast▒pienie
- dotychczasowego algorytmu autentykacji czym╢ bardziej bezpiecznym oraz
- z obs│ug▒ d│u┐szych hase│ (szczeg≤lnie algorytmem MD5) oraz
- pozostawienie kompatybilno╢ci z metod▒ wykorzystuj▒c▒ crypt.
-
- Je╢li szukasz dobrej ksi▒┐ki na temat kodowania polecam:
-
-
- "Applied Cryptography: Protocols, Algorithms, and Source Code in C"
- by Bruce Schneier <schneier@chinet.com>
- ISBN: 0-471-59756-2
-
-
-
-
- 3. Zdobywanie pakietu Shadow Suite.
-
-
-
- 3.1. Historia pakietu Shadow Suite dla Linux-a.
-
-
- NIE U»YWAJ PAKIET╙W WYMIENIONYCH W TEJ SEKCJI, Sí W NICH PROBLEMY Z
- BEZPIECZE╤STWEM.
-
- Orygina│ pakietu Shadow Suite zosta│ napisany przez John F. Haugh II.
-
- Jest kilka wersji, kt≤re by│y u┐ywane na Linux-ie:
-
-
- ╖ Orygina│ to shadow-3.3.1
-
- ╖ shadow-3.3.1-2 to │ata przeznaczona specjalnie na Linux-a zrobiona
- przez Florian La Roche <flla@stud.uni-sb.de>. Zawiera ona tak┐e
- dalsze ulepszenia.
-
- ╖ Pakiet shadow-mk zosta│ skomponowany specjalnie dla Linux-a.
-
- Pakiet shadow-mk zawiera pakiet shadow-3.3.1 dystrybuowany przez John
- F. Haugh II wraz z │at▒ shadow-3.3.1-2 patch, kilka poprawek
- zrobionych przez Mohan Kokal <magnus@texas.net>, kt≤re uczyni│y
- instalacjΩ o wiele │atwiejsz▒, │atΩ zrobion▒ przez Joseph R.M.
- Zbiciak, kt≤ra eliminuje dziury w programie /bin/login zwi▒zane z
- opcjami -f, -h oraz kilka innych │at.
-
- Pakiet shadow-mk by│ pakietem poprzednio rekomendowanym, ale powinien
- zostaµ zamieniony z powodu problem≤w z bezpiecze±stwem zwi▒zanych z
- programem login.
-
- W pakietach 3.3.1, 3.3.1-2 oraz shadow-mk s▒ problemy zwi▒zane z
- programem login. B│▒d ten to niesprawdzanie d│ugo╢ci podawanego
- identyfikatora. Powoduje to przepe│nienie bufora, co z kolei powoduje
- za│amania (crashes) programu albo gorzej. Podobno to przepe│nienie
- bufora mo┐e byµ wykorzystane przez kogo╢, kto posiada konto w systemie
- w po│▒czeniu z bibliotekami dzielonymi, aby uzyskaµ przywileje root-a.
- Nie bΩdΩ opisywa│ jak dok│adnie dzia│a ten b│▒d poniewa┐ jest du┐o
- system≤w Linux-owych, kt≤re s▒ zara┐one, ale systemy z zainstalowanymi
- tymi pakietami Shadow Suite oraz wiΩkszo╢µ system≤w w wersji przed-ELF
- bez pakietu Shadow Suite s▒ podatne na atak!
-
- WiΩcej informacji na ten temat znajdziesz na stronie po╢wiΩconej
- bezpiecze±stwu w Linux-ie <http://bach.cis.temple.edu/linux/linux-
- security/>. (Shared Libraries and login Program Vulnerability)
-
-
- 3.2. Gdzie znale╝µ pakiet Shadow Suite.
-
-
- Jedyny polecany pakiet Shadow Suite jest wci▒┐ w wersji BETA, chocia┐
- najnowsze wersje s▒ bezpieczne w ╢rodowisku produkcji i nie zawieraj▒
- podatnego na ataki programu login.
-
- W pakiecie u┐ywane jest nastΩpuj▒ce nazewnictwo:
-
- shadow-RRMMDD.tar.gz
-
-
-
- gdzie RRMMDD oznacza datΩ wprowadzenia pakietu w obieg.
-
- Wersja ta ostatecznie bΩdzie wersj▒ 3.3.3, kiedy zako±czone zostan▒
- testy w wersji BETA, a obs│ugiwana jest przez Marka Micha│kiewicza
- <marekm@i17linuxb.ists.pwr.wroc.pl>.
-
- DostΩpna jest jako shadow-current.tar.gz
- <ftp://i17linuxb.ists.pwr.wroc.pl/pub/linux/shadow/>.
-
- DostΩpna jest tak┐e pod adresem ftp.icm.edu.pl
- <ftp://ftp.icm.edu.pl/pub/Linux/shadow/>.
-
- Powiniene╢ u┐yµ najnowszej dostΩpnej wersji.
-
- NIE powiniene╢ u┐ywaµ wersji starszej ni┐ shadow-960129 poniewa┐
- wystΩpuje tam opisany powy┐ej problem z programem login.
-
- Je╢li piszΩ o pakiecie Shadow Suite, to mam na my╢li ten w│a╢nie plik.
- Zak│ada siΩ te┐, ┐e tej w│a╢nie wersji u┐ywasz.
-
- Aby napisaµ ten dokument u┐y│em tej w│a╢nie wersji pakietu.
-
- Je╢li wcze╢niej u┐ywa│e╢ pakietu shadow-mk, powiniene╢ zaktualizowaµ
- go do tej wersji i ponownie skompilowaµ wszystko to, co pierwotnie
- przekompilowa│e╢,
-
-
- 3.3. Co jest zawarte w pakiecie Shadow Suite.
-
-
- Pakiet ten zawiera zastΩpcze wersje dla program≤w:
- su, login, passwd, newgrp, chfn, chsh, id
-
- Pakiet ten zawiera tak┐e nowe programy: chage, newusers, dpasswd,
- gpasswd, useradd, userdel, usermod, groupadd, groupdel, groupmod,
- groups, pwck, grpck, lastlog, pwconv, pwunconv.
-
- Dodatkowo znajduje siΩ tam tak┐e biblioteka libshadow.a przeznaczona
- do pisania i kompilowania program≤w, kt≤re potrzebuj▒ dostΩpu do hase│
- u┐ytkownik≤w.
-
- Zawarte s▒ tak┐e strony podrΩcznika systemowego do wszystkich
- program≤w.
-
- Znajduje siΩ tam tak┐e plik konfiguracyjny dla programu login, kt≤ry
- zostanie zainstalowany jako /etc/login.defs.
-
-
- 4. Kompilacja program≤w.
-
-
-
- 4.1. Rozpakowywanie archiw≤w.
-
-
- Pierwszym krokiem po ╢ci▒gniΩciu programu jest rozpakowanie go. Pakiet
- jest w formie starowanej i skompresowany programem gzip, tak wiΩc
- najpierw przenie╢ go do /usr/src, a potem napisz:
-
-
- tar -xzvf shadow-current.tar.gz
-
-
-
- Powstanie katalog /usr/src/shadow-RRMMDD, w kt≤rym znajd▒ siΩ ╝r≤d│a
- pakietu.
-
-
- 4.2. Konfiguracja w pliku config.h
-
-
- Pierwsz▒ rzecz▒ jak▒ musisz zrobiµ, to skopiowaµ odpowiednie pliki
- Makefile i config.h:
-
-
- cd /usr/src/shadow-RRMMDD
- cp Makefile.linux Makefile
- cp config.h.linux config.h
-
-
-
- Potem powiniene╢ przejrzeµ plik config.h. Zawiera on definicje dla
- niekt≤rych opcji konfiguracyjnych. Je╢li u┐ywasz zalecanego pakietu,
- to polecam wy│▒czenie na pocz▒tek przes│anianie hase│ grup.
-
- Domy╢lnie opcja ta jest w│▒czona. Aby to wy│▒czyµ, wyedytuj plik
- config.h i zmie± #define SHADOWGRP na #undef SHADOWGRP. Na pocz▒tek
- proponuje to wy│aczyµ, a p≤╝niej jak bΩdziesz chcia│ hase│ dla grup i
- administrator≤w grup, to mo┐esz przekompilowaµ pakiet. Je╢li zostawisz
- tΩ opcjΩ w│▒czon▒ musisz stworzyµ plik /etc/gshadow.
-
- W│▒czanie opcji pozwalaj▒cej na d│u┐sze has│a nie jest zalecane -
- patrz wy┐ej.
-
- Opcja AUTOSHADOW zosta│a zaprojektowana, aby umo┐liwiµ dzia│anie
- programom, kt≤re ignoruj▒ przes│anianie hase│. Teoretycznie brzmi to
- dobrze, ale niestety nie dzia│a poprawnie. Je╢li w│aczysz tΩ opcjΩ i
- program zostanie uruchomiony z przywilejami "root-a", mo┐e on wywo│aµ
- funkcjΩ getpwnam() jako "root", a p≤╝niej zapisaµ zmienion▒ pozycjΩ
- spowrotem do pliku /etc/passwd (i has│o nie jest ju┐ przes│oniΩte).
-
- Do takich program≤w zaliczaj▒ siΩ chfn i chsh. (Nie mo┐esz obej╢µ tego
- przez zamianΩ rzeczywistego uid z efektywnym uid przed wywo│aniem
- funkcji getpwnam() poniewa┐ root tak┐e mo┐e u┐ywaµ chfn i chsh.)
-
- To samo ostrze┐enie jest s│uszne je╢li kompilujesz bibliotekΩ libc,
- kt≤ra posiada opcjΩ SHADOW_COMPAT, kt≤ra robi to samo. Nie powinna ona
- byµ u┐ywana! Je╢li zakodowane has│a zaczn▒ siΩ pojawiaµ spowrotem w
- pliku /etc/passwd, to to w│a╢nie jest przyczyn▒.
-
- Je╢li u┐ywasz wcze╢niejszej wersji biblioteki ni┐ 4.6.27, bΩdziesz
- musia│ zrobiµ trochΩ wiΩcej zmian w pliku config.h i Makefile.
-
- W pliku config.h zmie±:
-
-
- #define HAVE_BASENAME
-
-
-
- na:
-
-
- #undef HAVE_BASENAME
-
-
-
- A nastΩpnie w pliku Makefile zmie±:
-
-
- SOBJS = smain.o env.o entry.o susetup.o shell.o \
- sub.o mail.o motd.o sulog.o age.o tz.o hushed.o
-
- SSRCS = smain.c env.c entry.c setup.c shell.c \
- pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
- tz.c hushed.c
-
-
-
- na:
-
-
- SOBJS = smain.o env.o entry.o susetup.o shell.o \
- sub.o mail.o motd.o sulog.o age.o tz.o hushed.o basename.o
-
- SSRCS = smain.c env.c entry.c setup.c shell.c \
- pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
- tz.c hushed.c basename.c
-
-
-
- Zmiany te powoduj▒ zawarcie kodu z basename.c, kt≤ry zawiera siΩ w
- libc 4.6.27 i p≤╝niejszych.
-
-
- 4.3. Kopie zapasowe twoich oryginalnych program≤w.
-
-
- Dobrym pomys│em bΩdzie zrobienie kopii zapasowych program≤w, kt≤re
- zostan▒ zamienione przez Shadow Suite. W dystrybucji Slackware 3.0 s▒
- to:
-
-
- ╖ /bin/su
-
- ╖ /bin/login
-
- ╖ /usr/bin/passwd
-
- ╖ /usr/bin/newgrp
-
- ╖ /usr/bin/chfn
-
- ╖ /usr/bin/chsh
-
-
- ╖ /usr/bin/id
-
- Pakiet w wersji BETA ma mo┐liwo╢µ wykonania tego poprzez program make,
- ale jest to w komentarzu w pliku Makefile, poniewa┐ r≤┐ne dystrybucje
- umieszczaj▒ te programy w r≤┐nych miejscach. Mo┐na to zrobiµ pisz▒c:
- make save, ale najpierw trzeba skasowaµ znaki # z pliku Makefile od
- linii: save:
-
- Powiniene╢ tak┐e zrobiµ kopiΩ zapasow▒ pliku /etc/passwd, ale b▒d╝
- ostro┐ny, ┐eby╢ nie zmaza│ programu passwd w katalogu /etc.
-
-
- 4.4. Polecenie make
-
-
- Aby zainstalowaµ pakiet musisz byµ zalogowany jako "root".
-
- Uruchom make, aby skompilowaµ programy wykonywalne:
-
-
- make all
-
-
-
- Mo┐esz zobaczyµ ostrze┐enie: rcsid defined but not used. Wszystko jest
- w porz▒dku, poniewa┐ autor u┐ywa wersji kontrolnej pakietu.
-
-
- 5. Instalacja
-
-
-
- 5.1. Zaopatrz siΩ w dyskietkΩ startow▒ w razie gdyby╢ co╢ popsu│.
-
-
- Je╢li co╢ powa┐nie p≤jdzie nie tak, by│oby dobrze, gdyby╢ mia│
- dyskietkΩ startow▒. Je╢li masz dyskietki boot/root z czas≤w
- instalacji, to w porz▒dku, w innym przypadku przeczytaj Bootdisk-HOWTO
- <http://ftp.icm.edu.pl/pub/Linux/Documentation/HOWTO/Bootdisk-
- HOWTO.html>, kt≤re opisuje jak zrobiµ dyskietkΩ startow▒.
-
-
- 5.2. Usuwanie zduplikowanych stron podrΩcznika systemowego.
-
-
- Powiniene╢ tak┐e przenie╢µ strony podrΩcznika systemowego, kt≤re
- zostan▒ zast▒pione. Nawet je╢li jeste╢ na tyle odwa┐ny, ┐e instalujesz
- Shadow Suite bez kopii zapasowej, to i tak bΩdziesz chcia│ przenie╢µ
- stare strony podrΩcznika systemowego. Nowe strony normalnie nie
- usunΩ│yby starych, poniewa┐ te drugie s▒ przypuszczalnie
- skompresowane.
-
- Mo┐esz u┐yµ takiej kombinacji polece±: man -aW polecenie i locate
- polecenie, aby zlokalizowaµ strony, kt≤re maj▒ byµ usuniΩte czy
- przeniesione. Raczej │atwiej zrobiµ to przed poleceniem make install.
-
- Je╢li u┐ywasz dystrybucji Slackware 3.0, to oto strony, kt≤re
- powiniene╢ usun▒µ/przesun▒µ:
-
-
- ╖ /usr/man/man1/chfn.1.gz
-
- ╖ /usr/man/man1/chsh.1.gz
-
- ╖ /usr/man/man1/id.1.gz
-
- ╖ /usr/man/man1/login.1.gz
-
- ╖ /usr/man/man1/passwd.1.gz
-
- ╖ /usr/man/man1/su.1.gz
-
- ╖ /usr/man/man5/passwd.5.gz
-
- W katalogu /var/man/cat[1-9] mog▒ znajdowaµ siΩ strony o tych samych
- nazwach, kt≤re tak┐e powinny zostaµ usuniΩte/przeniesione.
-
-
- 5.3. Polecenie make install
-
-
- Jeste╢ got≤w, aby napisaµ (zr≤b to jako "root"):
-
-
- make install
-
-
-
- Zainstaluje to nowe programy i programy zastΩpcze oraz ustawi
- odpowiednie prawa dostΩpu do plik≤w. Zostan▒ tak┐e zainstalowane
- strony podrΩcznika systemowego.
-
- S▒ tu tak┐e instalowane pliki nag│≤wkowe w odpowiednich miejscach w
- /usr/include/shadow.
-
- Je╢li u┐ywasz wersji BETA tego pakietu, to musisz rΩcznie skopiowaµ
- plik login.defs do katalogu /etc i upewniµ siΩ, ┐e tylko "root" mo┐e
- go modyfikowaµ.
-
-
- cp login.defs /etc
- chmod 600 /etc/login.defs
-
-
-
- Plik ten jest plikiem konfiguracyjnym dla programu login. Powiniene╢
- go przejrzeµ i odpowiednio zmodyfikowaµ jego zawarto╢µ zgodnie z
- twoimi wymaganiami. To tutaj decydujesz, z kt≤rych terminalli (tty)
- mo┐e zalogowaµ siΩ "root" oraz ustawiasz inne opcje bezpiecze±stwa
- (np. domy╢lne wygasanie hase│).
-
-
- 5.4. Polecenie pwconv
-
-
- NastΩpnym krokiem jest polecenie pwconv. Musi ono tak┐e byµ wykonane
- jako "root" i najlepiej w katalogu /etc:
-
-
- cd /etc
- /usr/sbin/pwconv
-
-
-
- Program pwconv tworzy z pliku /etc/passwd dwa pliki: /etc/npasswd i
- /etc/nshadow.
-
- DostΩpny jest tak┐e program pwunconv je╢li musisz zrobiµ normalny plik
- /etc/passwd z plik≤w /etc/passwd i /etc/shadow.
-
-
-
- 5.5. Zmiany nazw plik≤w npasswd i nshadow
-
-
- Teraz, kiedy ju┐ wykona│e╢ polecenie pwconv, stworzy│e╢ dwa pliki -
- /etc/npasswd i /etc/nshadow. Ich nazwy musz▒ zostaµ zmienione
- odpowiednio na /etc/passwd i /etc/shadow. Chcemy tak┐e zrobiµ kopiΩ
- oryginalnego pliku /etc/passwd i upewniµ siΩ, ┐e tylko "root" mo┐e go
- czytaµ. KopiΩ zapasow▒ umie╢cimy w katalogu domowym "root-a":
-
-
- cd /etc
- cp passwd ~/passwd
- chmod 600 ~/passwd
- mv npasswd passwd
- mv nshadow shadow
-
-
-
- Powiniene╢ siΩ tak┐e upewniµ, czy w│a╢ciciel plik≤w i prawa dostΩpu s▒
- poprawne. Je╢li masz zamiar u┐ywaµ XWindows, to programy xlock i xdm
- musz▒ mieµ mo┐liwo╢µ odczytu pliku shadow, ale nie zapisu.
-
- S▒ dwa sposoby na zrobienie tego. Mo┐esz ustawiµ bit "SUID" dla
- programu xlock (chmod u+s xlock); xdm ma z regu│y ten bit ustawiony.
- Albo mo┐esz przydzieliµ plik /etc/shadow do grupy shadow, ale zanim to
- zrobisz, sprawd╝ czy masz grupΩ shadow w pliku /etc/group. W│a╢ciwie
- ┐aden z u┐ytkownik≤w systemu nie powinien byµ w tej grupie.
-
-
- cd /etc
- chown root.root passwd
- chown root.shadow shadow
- chmod 0644 passwd
- chmod 0640 shadow
-
-
-
- Tw≤j system ma teraz przes│oniΩte has│a. Powiniene╢ teraz przej╢µ na
- inny wirtualny terminal i sprawdziµ czy mo┐esz siΩ zalogowaµ
-
- Zr≤b to teraz - naprawdΩ !
-
- Je╢li nie mo┐esz, to co╢ jest nie tak ! Aby powr≤ciµ do stanu sprzed
- instalacji Shadow Suite zr≤b to:
-
-
- cd /etc
- cp ~/passwd passwd
- chmod 644 passwd
-
-
-
- Przywracasz w ten spos≤b stare pliki, kt≤re wcze╢niej zachowa│e╢, na
- ich w│a╢ciwe miejsce.
-
-
- 6. Inne programy, kt≤re mo┐e musisz uaktualniµ albo "za│ataµ".
-
-
- Pomimo, i┐ pakiet Shadow Suite posiada zastΩpcze programy dla
- wiΩkszo╢ci program≤w, kt≤re potrzebuj▒ dostepu do hase│, to prawie w
- ka┐dym systemie s▒ jeszcze dodatkowe programy, kt≤re potrzebuj▒
- dostΩpu do hase│.
-
- Je╢li masz dystrybucjΩ Debian (a nawet je╢li nie masz), mo┐esz znale╝µ
- ╝r≤d│a program≤w, kt≤re musz▒ byµ przerobione pod tym adresem
- <ftp://ftp.icm.edu.pl/pub/Linux/debian/stable/source>.
-
- Reszta tej sekcji opisuje jak uaktualniµ programy: adduser, wu_ftpd,
- ftpd, pop3d, xlock, xdm i sudo tak, aby obs│ugiwa│y przes│oniΩte
- has│a.
-
- Aby dowiedzieµ siΩ jak zrobiµ obs│ugΩ przes│oniΩtych hase│ w
- jakimkolwiek innym programie zobacz sekcjΩ ``Obs│uga przes│anianych
- hase│ w programach w C''. (Programy te i tak musz▒ byµ uruchomione z
- bitem "SUID" dla "root-a" albo grupy shadow, aby rzeczywi╢cie mieµ
- dostΩp do hase│.)
-
-
- 6.1. Program adduser z dystrybucji Slackware.
-
-
- Dystrybucja Slackware (i pewnie inne) zawiera interaktywny program
- s│u┐▒cy do dodawania nowych u┐ytkownik≤w - /sbin/adduser. WersjΩ tego
- programu obs│uguj▒c▒ przes│oniΩte has│a mo┐na pobraµ np. z
- ftp.icm.edu.pl z katalogu /pub/Linux/sunsite/system/admin/accounts/.
-
- Ja zalecam u┐ywanie program≤w, kt≤re s▒ dostarczane wraz z pakietem
- Shadow Suite (useradd, usermod, i userdel) zamiast adduser z
- dystrybucji Slackware. Co prawda nauczenie siΩ jak siΩ nimi pos│ugiwaµ
- zabiera trochΩ czasu, ale op│aca siΩ to poniewa┐ masz o wiele wiΩksz▒
- kontrolΩ i maj▒ one poprawne blokowanie plik≤w (file locking)
- /etc/passwd i /etc/shadow - adduser tego nie robi.
-
- WiΩcej informacji w nastΩpnej sekcji - ``Wprowadzanie pakietu Shadow
- Suite do u┐ycia.''.
-
- Ale je╢li ju┐ musisz go mieµ, oto co musisz zrobiµ:
-
- tar -xzvf adduser.shadow-1.4.tar.gz
- cd adduser
- make clean
- make adduser
- chmod 700 adduser
- cp adduser /sbin
-
-
-
-
- 6.2. Serwer wu_ftpd.
-
-
- Wraz z wiΩkszo╢ci▒ dystrybucji Linux-a przychodzi serwer wu_ftpd.
- Je╢li twoja dystrybucja nie instaluje domy╢lnie pakietu Shadow Suite,
- to tw≤j serwer wu_ftpd nie bΩdzie skompilowany z obs│ug▒
- przes│oniΩtych hase│. wu_ftpd jest odpalany z inetd/tcpd jako proces
- "root-a". Je╢li tw≤j demon wu_ftpd jest star▒ wersj▒, to bΩdziesz
- chcia│ j▒ uaktualniµ tak czy inaczej poniewa┐ stare wersje maj▒ pewien
- b│▒d, kt≤ry kompromituje konto "root". (WiΩcej informacji znajdziesz
- na Stronie Domowej Bezpiecze±stwa na Linuxie
- <http://bach.cis.temple.edu/linux/linux-security/Linux-Security-
- FAQ/Linux-wu.ftpd-2.4-Update.html>).
-
- Na szczΩ╢cie musisz tylko zdobyµ ┐r≤d│a tego programu i skompilowaµ go
- z w│▒czon▒ obs│ug▒ "Shadow password".
-
- Je╢li nie masz systemu ELF, to serwer wu_ftpd mo┐esz znale╝µ na
- SUNSite Polska
- <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/network/file-
- transfer/> - nazywa siΩ wu_ftpd-2.4-fixed.tar.gz
-
-
- Jak ju┐ ╢ci▒gniesz te ╝r≤d│a, to wtedy napisz:
-
-
- cd /usr/src
- tar -xzvf wu-ftpd-2.4-fixed.tar.gz
- cd wu-ftpd-2.4-fixed
- cp ./src/config/config.lnx.shadow ./src/config/config.lnx
-
-
-
- Potem zmie± w pliku ./src/makefiles/Makefile.lnx liniΩ:
-
-
- LIBES = -lbsd -support
-
-
-
- na:
-
- LIBES = -lbsd -support -lshadow
-
-
-
- Teraz mo┐esz uruchomiµ skrypt kompiluj▒cy i zainstalowaµ pakiet:
-
-
- cd /usr/src/wu-ftpd-2.4-fixed
- /usr/src/wu-ftp-2.4.fixed/build lnx
- cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
- cp ./bin/ftpd /usr/sbin/wu.ftpd
-
-
-
- Polecenia te powoduj▒ u┐ycie pliku konfiguracyjnego z obs│ug▒ hase│
- przes│anianych dla Linux-a, skompilowanie i instalacjΩ serwera.
-
- U siebie na Slackware 2.3 musia│em dodatkowo przed kompilacj▒ zrobiµ
- co╢ takiego:
-
-
- cd /usr/include/netinet
- ln -s in_systm.h in_system.h
- cd -
-
-
-
- Zg│aszane by│y problemy z kompilacj▒ na systemie binarnym ELF, ale
- wersja BETA nastΩpnej wersji dzia│a dobrze. Mo┐na j▒ znale╝µ pod
- adresem ftp.icm.edu.pl
- <ftp://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/slackware/source/n/tcpip>
- pod nazw▒ wu-ftp-2.4.2-beta-10.tar.gz.
-
- Jak ju┐ ╢ci▒gniesz serwer umie╢µ go w /usr/src i napisz:
-
-
- cd /usr/src
- tar -xzvf wu-ftpd-2.4.2-beta-9.tar.gz
- cd wu-ftpd-beta-9
- cd ./src/config
-
-
-
- Potem zmie± w pliku config.lnx:
-
-
-
- #undef SHADOW.PASSWORD
-
-
-
- na:
-
-
- #define SHADOW.PASSWORD
-
-
-
- Potem:
-
-
- cd ../Makefiles
-
-
-
- i zmie± w pliku Makefile.lnx
-
-
- LIBES = -lsupport -lbsd # -lshadow
-
-
-
- na:
-
-
- LIBES = -lsupport -lbsd -lshadow
-
-
-
- NastΩpnie skompiluj i zainstaluj:
-
-
- cd ..
- build lnx
- cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
- cp ./bin/ftpd /usr/sbin/wu.ftpd
-
-
-
- Zauwa┐, ┐e powiniene╢ sprawdziµ w /etc/inetd.conf katalog, w kt≤rym
- tw≤j serwer rzeczywi╢cie siΩ znajduje. Powiadomiono mnie, ┐e niekt≤re
- dystrybucje umieszczaj▒ demony serwer≤w w innych miejscach, a wtedy
- wu_ftpd mo┐e siΩ znajdowaµ gdzie indziej.
-
-
- 6.3. Standardowy ftpd.
-
-
- Je╢li masz u siebie standardowy serwer ftpd, zaleca│bym zmianΩ na
- wu_ftpd. Poza znan▒ dziur▒ om≤wion▒ wcze╢niej, wu_ftpd jest uznany za
- bardziej bezpieczny.
-
- Je╢li nalegasz na standardowy, albo potrzebujesz obs│ugi NIS, to na
- SUNSite Polska
- <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/network/file-
- transfer/> znajdziesz ftpd-shadow-nis.tgz.
-
-
- 6.4. pop3d (Post Office Protocol 3)
-
-
- Je╢li potrzebujesz obs│ugi Post Office Protocol 3, bΩdziesz musia│
- skompilowaµ ponownie program pop3d. Normalnie jest on uruchamiany
- przez inetd/tcpd jako "root".
-
- Na SUNSite Polska
- <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/mail/pop/> dostΩpne s▒
- dwie wersje:
-
-
- ╖ pop3d-1.00.4.linux.shadow.tar.gz
-
- ╖ pop3d+shadow+elf.tar.gz
-
- Obie s▒ raczej proste do zainstalowania.
-
-
- 6.5. xlock
-
-
- Je╢li zainstalujesz pakiet Shadow Suite i uruchomisz XWindows, a
- nastΩpnie zablokujesz (lock) ekran nie uaktualniaj▒c programu xlock,
- bΩdziesz musia│ u┐yµ CTRL+ALT+Fx, aby prze│▒czyµ siΩ na wirtualn▒
- konsolΩ tekstow▒ (je╢li masz jak▒╢), zalogowaµ siΩ i zlikwidowaµ
- proces xlock (albo u┐yµ CTRL+ALT+BACKSPACE ┐eby zamkn▒µ XWindows). Na
- szczΩ╢cie uaktualnienie programu xlock jest do╢µ proste.
-
- Je╢li masz XFree86 wersja 3.x.x, przypuszczalnie u┐ywasz xlockmore
- (kt≤ry jest wspania│ym "screensaver-em" w po│aczeniu z "lock").
- NastΩpuj▒cy pakiet obs│uguje przes│oniΩte has│a - xlockmore-3.5.tgz a
- dostΩpny jest z SUNSite Polska
- <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/X11/xutils/screensavers/>.
- Je╢li masz starsz▒ wersjΩ zalecam uaktualnienie do tej.
-
- Oto "z grubsza" to, co musisz zrobiµ:
-
- ╖ ªci▒gnij xlockmore i umie╢µ w /usr/src
-
- ╖ rozpakuj: tar -xzvf xlockmore-3.7.tgz
-
- ╖ zmie± w pliku /usr/X11R6/lib/X11/config/linux.cf liniΩ
-
-
- #define HasShadowPasswd NO
-
-
-
- na:
-
- #define HasShadowPasswd YES
-
-
-
- ╖ skompiluj pliki wykonywalne:
-
-
- cd /usr/src/xlockmore
- xmkmf
- make depend
- make
-
-
-
- ╖ potem przenie╢ wszystko w odpowiednie miejsce i uaktulanij prawa
- dostΩpu i w│a╢cicieli plik≤w
-
-
-
-
- cp xlock /usr/X11R6/bin/
- cp XLock /var/X11R6/lib/app-defaults/
- chown root.shadow /usr/X11R6/bin/xlock
- chmod 2755 /usr/X11R6/bin/xlock
- chown root.shadow /etc/shadow
- chmod 640 /etc/shadow
-
-
-
- Tw≤j xlock bΩdzie teraz dzia│a│ poprawnie.
-
-
- 6.6. xdm
-
-
- xdm jest programem, kt≤ry prezentuje ekran "loguj▒cy" dla XWindows.
- Niekt≤re systemy startuj▒ ten program kiedy system ma siΩ uruchomiµ w
- odpowiednim "runlevel-u" (zobacz /etc/inittab).
-
- Je╢li zainstalowa│e╢ przes│aniane has│a, musisz uaktulaniµ ten
- program. Na szczΩ╢cie jest to do╢µ proste:
-
- xdm.tar.gz mo┐na ╢ci▒gn▒µ z SUNSite Polska
- <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/X11/xutils/>.
-
- ªci▒gnij ten plik i umie╢µ go w /usr/src, potem go rozpakuj: tar -xzvf
- xdm.tar.gz.
-
- Zmie± w pliku /usr/X11R6/lib/X11/config/linux.cf liniΩ
-
-
- #define HasShadowPasswd NO
-
-
-
- na:
-
- #define HasShadowPasswd YES
-
-
-
- Skompiluj pliki wykonywalne:
-
-
- cd /usr/src/xdm
- xmkmf
- make depend
- make
-
-
-
- Potem umie╢µ wszystko na swoim miejscu cp xdm /usr/X11R6/bin/.
-
- xdm jest uruchamiany jako "root" tak wiΩc nie musisz zmieniaµ jego
- praw dostΩpu.
-
-
- 6.7. sudo
-
-
- Program sudo pozwala administratorowi na udostΩpnianie zwyk│ym
- u┐ytkownikom program≤w, kt≤re wymagaj▒ uprawnie± "root-a". Jest to
- po┐yteczne poniewa┐ mo┐na ograniczaµ dostΩp do konta "root" i
- jednocze╢nie pozwalaµ u┐ytkownikom np. montowaµ urz▒dzenia.
-
-
- sudo musi przeczytaµ has│o poniewa┐ weryfikuje u┐ytkownika kiedy jest
- uruchamiane. sudo jest uruchamiane z bitem SUID "root" tak wiΩc nie ma
- problemu z dostΩpem do pliku /etc/shadow.
-
- Program ten z obs│ug▒ hase│ przes│anianych dostΩpny jest na SUNSite
- Polska <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/admin> pod
- nazw▒ sudo-1.2-shadow.tgz.
-
- Uwaga: Podczas instalacji tego programu usuniΩty zostanie plik
- /etc/sudoerrs i zast▒piony domy╢lnym przychodz▒cym razem z pakietem.
- Tak wiΩc zr≤b sobie kopiΩ zapasow▒ je╢li robi│e╢ tam jakie╢ zmiany.
- Albo mo┐esz usun▒µ linijkΩ kasuj▒c▒ ten plik z pliku Makefile.
-
- Obs│uga przes│anianych hase│ jest ju┐ ustawiona w pakiecie, tak wiΩc
- wszystko co trzeba zrobiµ, to przekompilowaµ go. Po umieszczeniu go w
- /usr/src napisz:
-
-
- cd /usr/src
- tar -xzvf sudo-1.2-shadow.tgz
- cd sudo-1.2-shadow
- make all
- make install
-
-
-
-
- 6.8. roman }
-
-
- imapd jest serwerem poczty elektronicznej podobnym do pop3d . imapd
- przychodzi wraz z pakietem Pine E-Mail . Dokumentacja dostarczana wraz
- z tym pkaietem twierdzi, ┐e domy╢lnym dla system≤w Linux jest
- w│▒czenie obs│ugi przes│anianych hase│. Ja jednak przekona│em siΩ, ┐e
- nie jest to prawda. Id▒c dalej, kombinacja skrypt tworz▒cy - Makefile
- bardzo utrudnia dodanie biblioteki libshadow.a podczas kompilacji,
- wiΩc nie by│em w stanie dodaµ obs│ugi hase│ przes│anianych do imapd .
-
- Je╢li komu╢ siΩ to uda│o, to proszΩ o opis a ja umieszczΩ go w tym
- punkcie.
-
-
- 6.9. pppd (Serwer Protoko│u Point-to-Point)
-
-
- Serwer pppd mo┐e zostaµ tak ustawiony, aby u┐ywa│ r≤┐nych typ≤w
- autentykacji:
- Password Authentication Protocol (PAP) i Cryptographic Handshake
- Authentication Protocol (CHAP). Serwer pppd zwykle czyta │a±uchy hase│
- z /etc/ppp/chap-secrets i/albo z /etc/ppp/pap-secrets. Je╢li u┐ywasz
- tego domy╢lnego zachowania serwera pppd, to przeinstalowywanie go nie
- jest konieczne.
-
- pppd pozwala tak┐e na u┐ycie parametr≤w login-u (albo z wiersza
- polece±, albo z pliku konfiguracyjnego, albo z pliku z opcjami). Je╢li
- jest podana jaka╢ opcja login-u, to pppd u┐yje pliku /etc/passwd, ┐eby
- zweryfikowaµ identyfikator i has│o dla PAP. To oczywi╢cie nie zadzia│a
- odk▒d nasz plik z has│ami jest przes│aniany. Je╢li u┐ywasz
- pppd-1.2.1d, to bΩdziesz musia│ dodaµ kod do obs│ugi hase│
- przes│anianych.
-
- Podany w dalszej czΩ╢ci przyk│ad dodaje obs│ugΩ dla tej w│a╢nie
- wersji.
-
- Wersja pppd-2.2.0 ma ju┐ w sobie obs│ugΩ przes│anianych hase│.
-
- 7. Wprowadzanie pakietu Shadow Suite do u┐ycia.
-
-
- Sekcja ta opisuje kilka rzeczy kt≤re bΩdziesz chcia│ wiedzieµ jak ju┐
- zainstalowa│e╢ pakiet Shadow Suite. Dalsze informacje zawarte s▒ na
- stronach podrΩcznika systemowego na temat ka┐dego polecenia.
-
-
- 7.1. Dodawanie, Modyfikacja i usuwanie u┐ytkownik≤w.
-
-
- Pakiet Shadow Suite doda│ nastΩpuj▒ce polecenia do dodawania,
- modyfikacji i usuwania u┐ytkownik≤w. S▒ one obs│ugiwane z wiersza
- polece± przez parametry (mog│e╢ tak┐e zainstalowaµ program adduser).
-
-
- 7.1.1. useradd.
-
-
- Polecenie useradd mo┐e zostaµ u┐yte, aby dodaµ u┐ytkownika do systemu.
- Wykonujesz je tak┐e, ┐eby zmieniµ domy╢lne ustawienia.
-
- Pierwsz▒ rzecz▒ jak▒ powiniene╢ zrobiµ, to sprawdziµ ustawienia
- domy╢lne na twoim systemie i odpowiednio je zmieniµ:
-
-
- useradd -D
-
-
-
-
- ______________________________________________________________________
- GROUP=1
- HOME=/home
- INACTIVE=0
- EXPIRE=0
- SHELL=
- SKEL=/etc/skel
- ______________________________________________________________________
-
-
-
- Warto╢ci domy╢lne to pewnie nie s▒ te, kt≤re chcesz u┐ywaµ, tak wiΩc
- je╢li zacz▒│by╢ dodawaµ u┐ytkownik≤w teraz, to musia│by╢ podawaµ
- informacje dla ka┐dego u┐ytkownika. Jednak mo┐emy i powinni╢my zmieniµ
- warto╢ci domy╢lne:
-
-
- ╖ Niech domy╢ln▒ grup▒ bΩdzie 100
-
- ╖ Niech has│a wygasaj▒ po 60 dniach
-
- ╖ Niech konta nie bΩd▒ blokowane po wyga╢niΩciu has│a
-
- ╖ Niech domy╢ln▒ pow│ok▒ bΩdzie /bin/bash
-
- Aby zrobiµ takie zmiany napisa│bym:
-
-
- useradd -D -g100 -e60 -f0 -s/bin/bash
-
-
-
- Teraz uruchomienie useradd -D poka┐e:
-
-
- ______________________________________________________________________
- GROUP=100
- HOME=/home
- INACTIVE=0
- EXPIRE=60
- SHELL=/bin/bash
- SKEL=/etc/skel
- ______________________________________________________________________
-
-
-
- W razie gdyby╢ chcia│ wiedzieµ, to warto╢ci te s▒ zapisywane w
- /etc/default/useradd.
-
- Teraz mo┐esz u┐yµ polecenia useradd, aby dodaµ u┐ytkownik≤w do
- systemu. Na przyk│ad, aby dodaµ u┐ytkownika fred u┐ywaj▒c warto╢ci
- domy╢lnych napisa│by╢:
-
-
- useradd -m -c "Fred Flintstone" fred
-
-
-
- Stworzy to nastΩpuj▒c▒ pozycjΩ w /etc/passwd:
-
-
- fred:*:505:100:Fred Flinstone:/home/fred:/bin/bash
-
-
-
- oraz nastΩpuj▒c▒ pozycjΩ w /etc/shadow:
-
-
- fred:!:0:0:60:0:0:0:0
-
-
-
- Utworzony zostanie katalog domowy freda oraz skopiowana zostanie tam
- zawarto╢µ katalogu /etc/skel z powodu opcji -m.
-
- Poniewa┐ nie podali╢my UID-u u┐yty zostanie nastΩpny wolny.
-
- Konto freda bΩdzie utworzone, ale nie bΩdzie on siΩ m≤g│ zalogowaµ
- dop≤ki go nie odblokujemy. Zrobimy to przez zmianΩ has│a:
-
-
- passwd fred
-
-
-
-
- ______________________________________________________________________
- Changing password for fred
- Enter the new password (minimum of 5 characters)
- Please use a combination of upper and lower case letters and numbers.
- New Password: *******
- Re-enter new password: *******
- ______________________________________________________________________
-
-
-
- Teraz w /etc/shadow bΩdzie:
-
-
- fred:J0C.WDR1amIt6:9559:0:60:0:0:0:0
-
- A fred bΩdzie m≤g│ siΩ teraz zalogowaµ i korzystaµ z systemu.
- Najlepsze w u┐yciu program≤w, kt≤re przychodz▒ razem z pakietem Shadow
- Suite jest to, ┐e wszelkie zmiany plik≤w /etc/passwd i /etc/shadow s▒
- wykonywane z tzw. blokowaniem. Ta wiΩc je╢li dodajesz u┐ytkownika do
- systemu a inny u┐ytkownik w│a╢nie sobie zmienia has│o, to obie
- operacje zostan▒ wykonane poprawnie.
-
- Powiniene╢ u┐ywaµ raczej dostarczonych program≤w ni┐ edytowaµ rΩcznie
- pliki /etc/passwd i /etc/shadow. Je╢li edytowa│e╢ plik /etc/shadow i
- jaki╢ u┐ytkownik zmienia│ sobie w tym samym czasie has│o, to po
- zapisaniu zmian dokonanych przez ciebie nowe has│o u┐ytkownika zginie.
-
- Oto ma│y interaktywny skrypt, kt≤ry dodaje nowego u┐ytkownika u┐ywaj▒c
- useradd i passwd:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- #!/bin/bash
- #
- # /sbin/newuser - Skrypt dodaj▒cy u┐ytkownik≤w do systemu u┐ywaj▒cego
- # program≤w useradd z pakietu Shadow Suite i passwd.
- #
- # Napisany przez Mike'a Jacksona <mhjack@tscnet.com> jako przyk│ad do
- # Shadow-Password-HOWTO. Pozwolenie na u┐ywanie i modyfikacje wyra╝nie dane.
- #
- # Mo┐naby ten skrypt zmodyfikowaµ tak, ┐eby pokazywa│ warto╢ci domy╢lne
- # oraz pozwala│ na modyfikacjΩ podobnie jak program adduser ze Slackware.
- # Mo┐naby te┐ sprawdzaµ b│Ωdy, czy g│upie warto╢ci.
- #
- #
- ##
- # Warto╢ci domy╢lne dla polecenia useradd
- ##
- GROUP=100 # Domy╢lna grupa
- HOME=/home # Katalog domowy (/home/identyfikator)
- SKEL=/etc/skel # Katalog szkieletowy
- INACTIVE=0 # Ilo╢µ dni, po kt≤rych wygasa has│o.
- EXPIRE=60 # Ilo╢µ dni, przez kt≤r▒ ma istnieµ has│o
- SHELL=/bin/bash # Domy╢lna pow│oka (pe│na ╢cie┐ka)
- ##
- # Warto╢ci domy╢lne dla polecenia passwd
- ##
- PASSMIN=0 # Ilo╢µ dni miΩdzy kt≤r▒ zmienia siΩ has│o
- PASSWARN=14 # Ilo╢µ dni przed wyga╢niΩciem has│a kiedy jest
- # wysy│ana wiadomo╢µ ostrzegaj▒ca.
- ##
- # Upewnij siΩ, ┐e "root" uruchomi│ ten skrypt
- ##
- WHOAMI=`/usr/bin/whoami`
- if [ $WHOAMI != "root" ]; then
- echo "You must be root to add news users!"
- exit 1
- fi
- ##
- # Zapytaj o identyfikator i imiΩ i nazwisko
- ##
- echo ""
- echo -n "Username: "
- read USERNAME
- echo -n "Full name: "
- read FULLNAME
- #
- echo "Adding user: $USERNAME."
- #
- # Zauwa┐, ┐e wymagane s▒ "" przy $FULLNAME poniewa┐ pole to bΩdzie
- # prawie zawsze zawiera│o przynajmniej jedn▒ spacjΩ, a bez " polecenie
- # useradd "pomy╢la│oby", ┐e jest to nastΩpny parametr kiedy dosz│oby
- # do spacji.
- #
- /usr/sbin/useradd -c"$FULLNAME" -d$HOME/$USERNAME -e$EXPIRE \
- -f$INACTIVE -g$GROUP -m -k$SKEL -s$SHELL $USERNAME
- ##
- # Ustaw domy╢lne warto╢ci dla has│a
- ##
- /bin/passwd -n $PASSMIN -w $PASSWARN $USERNAME >/dev/null 2>&1
- ##
- # Niech polecenie passwd zapyta poprawnie (dwa razy) o has│o
- ##
- /bin/passwd $USERNAME
- ##
- # Poka┐, co zosta│o zrobione
- ##
- echo ""
- echo "Entry from /etc/passwd:"
- echo -n " "
- grep "$USERNAME:" /etc/passwd
- echo "Entry from /etc/shadow:"
- echo -n " "
- grep "$USERNAME:" /etc/shadow
- echo "Summary output of the passwd command:"
- echo -n " "
- passwd -S $USERNAME
- echo ""
- ______________________________________________________________________
-
-
-
- U┐ycie skryptu do dodawania u┐ytkownik≤w do systemu jest na prawdΩ
- bardziej preferowane ni┐ rΩczna edycja plik≤w /etc/passwd czy
- /etc/shadow czy te┐ u┐ywanie programu adduser ze Slackware. Mo┐esz
- ╢mia│o modyfikowaµ ten skrypt dla swoich potrzeb.
-
- WiΩcej informacji na temat useradd znajdziesz w podrΩczniku
- systemowym.
-
-
- 7.1.2. usermod.
-
-
- Program usermod u┐ywany jest do modyfikowania informacji na temat
- danego u┐ytkownika. Opcje tego programu s▒ podobne do opcji programu
- useradd.
-
- Powiedzmy, ┐e chcesz zmieniµ pow│okΩ dla freda; zrobi│by╢ to tak:
-
-
- usermod -s /bin/tcsh fred
-
-
-
- Teraz pozycja dotycz▒ca freda w /etc/passwd zmieni│aby siΩ na:
-
-
- fred:*:505:100:Fred Flinstone:/home/fred:/bin/tcsh
-
-
-
- Za│≤┐my, ┐e chcemy, ┐eby konto freda wygas│o 15.09.1997:
-
-
- usermod -e 09/15/97 fred <-- data w stylu angielskim-ameryka±skim (mmddrr)
-
-
-
- Teraz pozycja dotycz▒ca freda w /etc/shadow zmieni│aby siΩ na:
-
-
- fred:J0C.WDR1amIt6:9559:0:60:0:0:10119:0
-
-
-
- WiΩcej informacji na temat usermod znajdziesz w podrΩczniku
- systemowym.
-
-
-
-
-
- 7.1.3. userdel.
-
-
- userdel robi dok│adnie to czego siΩ spodziewa│e╢ - kasuje konto
- podanego u┐ytkownika. U┐ycie jest proste:
-
-
- userdel -r <identyfikator>
-
-
-
- Opcja -r powoduje skasowanie wszystkich plik≤w z katalogu domowego
- u┐ytkownika. Plik≤w zlokalizowanych w innym systemie plik≤w trzeba
- poszukaµ i skasowaµ je rΩcznie.
-
- Je╢li chcesz tylko zablokowaµ dane konto, a nie skasowaµ to u┐yj
- polecenia passwd.
-
-
- 7.2. Polecenie passwd i "termin wa┐no╢ci" has│a.
-
-
- Polecenie passwd u┐ywane jest do zmiany has│a. Opr≤cz tego u┐ywane
- jest przez "root-a" do:
-
-
- ╖ Blokowania i odblokowywania kont (-l i -u)
-
- ╖ Ustawiania maksymalnej ilo╢ci dni przez jak▒ has│o jest wa┐ne (-x)
-
- ╖ Ustawiania minimalnej ilo╢ci dni miΩdzy zmianami has│a (-n)
-
- ╖ Ustawiania ilo╢ci dni, po kt≤rych wysy│ane jest ostrze┐enie o
- wyga╢niΩciu has│a (-w)
-
- ╖ Ustawiania ilo╢ci dni, po kt≤rej has│o wygasa przed zablokowaniem
- konta (-i)
-
- ╖ Pozwalania na przegl▒danie informacji o koncie w czytelniejszym
- formacie (-S)
-
- Na przyk│ad, sp≤jrzmy jeszcze raz na freda:
-
-
- passwd -S fred
- fred P 03/04/96 0 60 0 0
-
-
-
- Oznacza to, ┐e has│o freda jest wa┐ne, ostatnio by│o zmieniane
- 04.03.1996, mo┐e byµ zmienione w ka┐dej chwili, wygasa po 60 dniach,
- fred nie zostanie ostrze┐ony oraz konto nie zostanie zablokowane po
- wyga╢niΩciu has│a.
-
- Oznacza to po prostu tyle, ┐e kiedy fred zaloguje siΩ po wyga╢niΩciu
- has│a zostanie zaraz na pocz▒tku poproszony o podanie nowego has│a.
-
- Je╢li zdecydujemy siΩ, ┐e chcemy ostrzec freda na 14 dni przed
- wyga╢niΩciem jego has│a i zablokowaµ jego konto 14 dni po wyga╢niΩciu
- has│a trzebaby napisaµ tak:
-
-
- passwd -w14 -i14 fred
-
-
-
- Teraz dane o fredzie zmiani│y siΩ na:
-
-
- fred P 03/04/96 0 60 14 14
-
-
-
- WiΩcej informacji na temat passwd znajdziesz w podrΩczniku systemowym.
-
-
- 7.3. Plik login.defs
-
-
- Plik /etc/login jest plikiem konfiguracyjnym dla programu login oraz
- dla ca│ego pakietu Shadow Suite.
-
- /etc/login zawiera ustawienia od tego jak bΩd▒ wygl▒daµ znaki zachΩty
- do tego jakie domy╢lne warto╢ci bΩd▒ dla wygasania has│a kiedy
- u┐ytkownik je sobie zmieni.
-
- Plik /etc/login.defs jest do╢µ dobrze udokumentowany ju┐ przez same
- komentarze w nim zawarte. Chocia┐ jest kilka rzeczy do odnotowania:
-
-
- ╖ Zawiera opcje, kt≤re mog▒ byµ w│▒czane i wy│▒czane do okre╢lania
- ilo╢ci zalogowa±.
-
- ╖ Zawiera wskazania na inne pliki konfiguracyjne.
-
- ╖ Zawiera domy╢lne warto╢ci dla takich ustawie± jak "termin wa┐no╢ci"
- has│a.
-
- Z powy┐szej listy wynika, ┐e jest to raczej wa┐ny plik i powiniene╢
- siΩ upewniµ, ┐e istnieje i ┐e ustawienia s▒ takie jak chcia│e╢.
-
-
- 7.4. Has│a dla grup.
-
-
- Plik /etc/groups mo┐e zawieraµ has│a, kt≤re pozwalaj▒ u┐ytkownikom
- do│▒czyµ siΩ do jakiej╢ grupy. Funkcja ta jest w│▒czona je╢li
- zdefiniujesz sta│▒ SHADOWGRP w pliku /usr/src/shadow-YYMMDD/config.h .
-
- Je╢li j▒ zdefiniujesz i skompilujesz pakiet, musisz utworzyµ plik
- /etc/gshadow, ┐eby trzymaµ tam has│a grup i informacje
- administracyjne.
-
- Do utworzenia pliku /etc/shadow u┐y│e╢ programu pwconv; nie ma
- odpowiednika do utworzenia pliku /etc/gshadow, ale to nie ma znaczenia
- bo plik ten sam siΩ sob▒ zajmuje.
-
- Aby stworzyµ pocz▒tkowy plik /etc/gshadow zr≤b tak:
-
-
- touch /etc/gshadow
- chown root.root /etc/gshadow
- chmod 700 /etc/gshadow
-
-
-
- Jak bΩdziesz tworzy│ nowe grupy, zostan▒ one dodane do /etc/group i
- /etc/gshadow.
-
- Do modyfikacji grup s│u┐▒ programy dostarczane wraz z pakietem Shadow
- Suite: groups, groupadd, groupmod i groupdel.
-
- Format pliku /etc/group jest taki:
-
-
- nazwa_grupy:!:GID:cz│onek,cz│onek,...
-
-
-
- Gdzie:
-
-
- nazwa_grupy
- - chyba nie wymaga wyja╢niania :)
-
- ! - w tym miejscu normalnie by│oby has│o, ale teraz jest ono w
- gshadow
-
- GID
- - numer grupy
-
- cz│onek
- - lista cz│onk≤w grupy.
-
- Format pliku /etc/gshadow jest taki:
-
-
- nazwa_grupy:has│o:admin,admin,...:cz│onek,cz│onek,...
-
-
-
- Gdzie:
-
- nazwa_grupy
- - chyba nie wymaga wyja╢niania :)
-
- has│o
- - zakodowane has│o grupy
-
- admin
- - lista administrator≤w grupy
-
- cz│onek
- - lista cz│onk≤w grupy
-
- Polecenie gpasswd jest u┐ywane tylko do dodawania i usuwania cz│onk≤w
- do/z grupy. "root" i ka┐dy z administrator≤w grupy mo┐e usuwaµ i
- dodawaµ cz│onk≤w.
-
- Has│o dla grupy mo┐e byµ zmienione za pomoc▒ polecenia passwd przez
- "root-a" i ka┐dego z administrator≤w grupy.
-
- Chocia┐ nie ma strony do podrΩcznika systemowego dla gpasswd, to
- zrozumienie opcji tego polecenia nie jest takie trudne jak ju┐
- rozumiesz jego format i koncept. gpasswd bez ┐adnych parametr≤w poda
- opcje jakie przyjmuje.
-
-
- 7.5. Programy do sprawdzania poprawno╢ci.
-
-
-
- 7.5.1. pwck
-
-
- Program pwck sprawdza poprawno╢µ plik≤w /etc/passwd i /etc/shadow.
- Sprawdzi ka┐dego u┐ytkownika czy ma:
-
- ╖ poprawn▒ ilo╢µ p≤l,
-
- ╖ unikalny identyfikator,
-
- ╖ dobry UID i GID
-
- ╖ dobr▒ grupΩ domy╢ln▒
-
- ╖ poprawny katalog domowy
-
- ╖ poprawn▒ pow│okΩ
-
- Ostrze┐e nas tak┐e je╢li znajdzie konta bez hase│.
-
- Uruchomienie tego programu po zainstalowaniu pakietu Shadow Suite jest
- dobrym pomys│em. Powinno sie go tak┐e uruchamiaµ okresowo - co
- tydzie±, co miesi▒c. Je╢li u┐yjesz opcji -r, to mo┐esz u┐yµ programu
- cron, aby uruchamiaµ pwck okresowo i dostawaµ raport poczt▒.
-
-
- 7.5.2. grpck
-
-
- Program ten sprawdza poprawno╢µ plik≤w /etc/group i /etc/gshadow.
- Sprawdza:
-
-
- ╖ ilo╢µ p≤l,
-
- ╖ unikaln▒ nazwΩ grupy
-
- ╖ poprawno╢µ listy administrator≤w i cz│onk≤w.
-
- Ma tak┐e opcjΩ -r do automatycznych raport≤w.
-
-
- 7.6. Has│a przez telefon. (Dial-up)
-
-
- Has│a przez telefon s▒ inn▒ opcjonaln▒ lini▒ obrony dla system≤w,
- kt≤re umo┐liwiaj▒ dostΩp przez telefon. Je╢li masz system z du┐▒
- ilo╢µi▒ u┐ytkownik≤w │▒cz▒cych siΩ lokalnie albo poprzez sieµ, ale
- chcesz ograniczyµ kto mo┐e sie po│▒czyµ, to "has│a przez telefon" s▒
- dla ciebie. Aby w│aczyµ "has│a przez telefon" musisz wyedytowaµ plik
- /etc/login.defs i upewniµ siΩ, ┐e DIALUPS_CHECK_ENAB jest ustawione na
- yes.
-
- S▒ dwa pliki, kt≤re zawieraj▒ informacje o po│▒czeniach przez telefon:
- /etc/dialups, kt≤ry zawiera "tty" (jeden na liniΩ bez "/dev/"). Je╢li
- dany tty jest tam zawarty to po│▒czenie jest sprawdzane; oraz
- /etc/d_passwd z pe│n▒ ╢cie┐k▒ dostΩpu do pow│oki oraz opcjonalnym
- has│em.
-
- Je╢li u┐ytkownik zaloguje siΩ na liniΩ, kt≤ra jest podana w
- /etc/diulups i jego pow│oka jest podana w /etc/d_passwd, to bΩdzie
- m≤g│ siΩ zalogowaµ tylko po podaniu poprawnego has│a.
-
- Innym u┐ytecznym celem "hase│ przez telefon" mo┐e byµ ustawienie
- linii, kt≤ra pozwala tylko na po│▒czenia konkretnego rodzaju (np. PPP
- lub/i UUCP). Je╢li u┐ytkownik pr≤buje siΩ po│▒czyµ inaczej (np. list▒
- pow│ok), to musi znaµ has│o na tΩ liniΩ.
-
- Zanim bΩdziesz m≤g│ u┐ywaµ tych w│a╢ciwo╢ci musisz stworzyµ te pliki.
-
- Polecenie dpasswd przypisuje has│a do konkretnych pow│ok zawartych w
- pliku /etc/d_passwd. WiΩcej informacji znajdziesz na stronie
- podrΩcznika systemowego.
-
-
- 8. Obs│uga przes│anianych hase│ w programach w C.
-
-
- Dodawanie obs│ugi hase│ przes│anianych do program≤w jest ca│kiem
- proste. Jedynym problemem jest to, ┐e program musi zostaµ uruchomiony
- z prawami "root-a", aby mieµ dostΩp do pliku /etc/shadow.
-
- Tutaj pojawia siΩ jeden wielki problem: podczas pisania takich
- program≤w nale┐y siΩ trzymaµ jak naj╢ci╢lej zasad bezpiecze±stwa. Na
- przyk│ad je╢li program posiada wyj╢cie do pow│oki, to nie mo┐e siΩ to
- zdarzyµ na prawach "root-a".
-
- Je╢li program musi mieµ dostΩp do /etc/shadow i nie potrzebuje wiΩcej
- praw "root-a", to lepiej uruchomiµ go z prawami grupy "shadow".
- Program xlock jest przyk│adem takiego programu.
-
- W przyk│adzie podanym ni┐ej, pppd-1.2.1d jest ju┐ uruchomiony z
- prawami "root-a", tak wiΩc dodanie obs│ugi hase│ przes│anianych nie
- powinno zagroziµ bezpiecze±stwu.
-
-
- 8.1. Pliki nag│≤wkowe.
-
-
- Pliki te powinny znajdowaµ siΩ w /usr/include/shadow. Powinien tam
- byµ tak┐e plik /usr/include/shadow.h, ale bΩdzie to symboliczne
- do│aczenie do /usr/include/shadow/shadow.h.
-
- Aby dodaµ obs│ugΩ hase│ przes│anianych do programu, musisz do│▒czyµ
- pliki nag│≤wkowe:
-
-
- #include <shadow/shadow.h>
- #include <shadow/pwauth.h>
-
-
-
- Dobrym pomys│em by│oby u┐ycie dyrektyw kompilatora, aby skompilowaµ
- warunkowo kod z obs│ug▒ hase│ przes│anianych. (tak jak w przyk│adzie
- poni┐ej.)
-
-
- 8.2. Biblioteka libshadow.a
-
-
- Biblioteka ta zosta│a zainstalowana w /usr/lib jak instalowa│e╢ pakiet
- Shadow Suite.
-
- Kiedy kompilujesz obs│ugΩ przes│aniancyh hase│ w programie trzeba
- poinformowaµ "linker-a", aby do│▒czy│ bibliotekΩ libshadow.a.
-
- Robi siΩ to tak:
-
-
- gcc program.c -o program -lshadow
-
-
-
- Chocia┐ jak zobaczymy w poni┐szym przyk│adzie, wiΩkszo╢µ du┐ych
- program≤w u┐ywa plik≤w Makefile i ma zwykle zmienn▒ LIBS=..., kt≤r▒
- siΩ modyfikuje.
-
-
- 8.3. Struktura Shadow.
-
-
- Biblioteka libshadow.a u┐ywa struktury spwd dla informacji, kt≤re
- otrzyma z pliku /etc/shadow. Oto definicja tej struktury wziΩta z
- /usr/include/shadow/shadow.h:
-
-
- ______________________________________________________________________
- struct spwd
- {
- char *sp_namp; /* identyfikator */
- char *sp_pwdp; /* zakodowane has│o */
- sptime sp_lstchg; /* data ostatniej zmiany */
- sptime sp_min; /* minimalna ilo╢µ dni miΩdzy zmianami */
- sptime sp_max; /* maksymalna ilo╢µ dni miΩdzy zmianami */
- sptime sp_warn; /* ilo╢µ dni przed wyga╢niΩciem has│a
- kiedy bΩdzie wysy│ane ostrze┐enie */
- sptime sp_inact; /* ilo╢µ dni, po jakiej wygasa has│o
- dop≤ki konto nie bΩdzie zablokowane */
- sptime sp_expire; /* ilo╢µ dni od 01.01.1970 dop≤ki
- konto nie wyga╢nie */
- unsigned long sp_flag; /* zarezerwowane na przysz│o╢µ */
- };
- ______________________________________________________________________
-
-
-
- Do pola sp_pwdp mo┐na dodatkowo wstawiµ nawzΩ programu:
-
-
- identyfikator:Npge08pfz4wuk;@/sbin/extra:9479:0:10000::::
-
-
-
- Oznacza to, ┐e opr≤cz podania has│a bΩdzie wykonany program
- /sbin/extra, kt≤ry wykona dalsz▒ autentykacjΩ. Wywo│any program
- otrzyma identyfikator i prze│▒cznik, kt≤ry okre╢li dlaczego zosta│
- wywo│any. WiΩcej informacji znajdziesz w /usr/include/shadow/pwauth.h
- i pwauth.c.
-
- Oznacza to, ┐e powinni╢my u┐yµ funkcji pwauth do przeprowadzenia
- poprawnej autentykacji, poniewa┐ zajmie siΩ ona tak┐e drug▒
- autentykacj▒. Jest to u┐yte w przyk│adzie poni┐ej.
-
- Autor pakietu Shadow Suite twierdzi, ┐e odk▒d wiΩkszo╢µ program≤w tego
- nie stosuje, mo┐e to zostaµ usuniΩte lub zmienione w przysz│ych
- wersjach pakietu.
-
-
- 8.4. Funkcje pakietu Shadow Suite.
-
-
- Plik shadow.h zawiera deklaracje funkcji zawartych w bibliotece
- libshadow.a:
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- extern void setspent __P ((void));
- extern void endspent __P ((void));
- extern struct spwd *sgetspent __P ((__const char *__string));
- extern struct spwd *fgetspent __P ((FILE *__fp));
- extern struct spwd *getspent __P ((void));
- extern struct spwd *getspnam __P ((__const char *__name));
- extern int putspent __P ((__const struct spwd *__sp, FILE *__fp));
- ______________________________________________________________________
-
-
-
- Funkcja, kt≤r▒ u┐yjemy w przyk│adzie to getspnam, kt≤ra odczyta
- strukturΩ spwd dla podanego identyfikatora.
-
-
- 8.5. Przyk│ad.
-
-
- Jest to przyk│ad na dodanie obs│ugi hase│ przes│anianych do programu,
- kt≤ry tego potrzebuje, ale nie ma domy╢lnie w│▒czonego.
-
- Przyk│ad ten u┐ywa serwera Point-to-Point Protocol (pppd-1.2.1d),
- kt≤ry ma tryb do autentykacji PAP u┐ywaj▒c identyfikatora i has│a z
- pliku /etc/passwd zamiast z plik≤w PAP czy CHAP. Nie musisz dodawaµ
- tego kodu do pppd-2.2.0, poniewa┐ on ju┐ tam jest.
-
- Ta w│a╢ciwo╢µ pppd przypuszczalnie nie jest czΩsto u┐ywana, ale je╢li
- zainstalowa│e╢ Shadow Suite, to serwer ten nie bΩdzie dzia│a│ poniewa┐
- has│a nie s▒ ju┐ zapisywane w /etc/passwd.
-
- Kod do autentykacji u┐ytkownik≤w przez pppd-1.2.1d umieszczony jest w
- pliku /usr/src/pppd-1.2.1d/pppd/auth.c.
-
- Poni┐szy kod musi zostaµ dodany na pocz▒tku pliku gdzie znajduj▒ siΩ
- wszystkie inne dyrektywy #include. Otoczyli╢my je dyrektywami
- warunkowymi (czyli skompiluj▒ siΩ tylko je╢li kompilujemy z w│aczon▒
- obs│ug▒ hase│ przes│anianych).
-
-
- ______________________________________________________________________
- #ifdef HAS_SHADOW
- #include <shadow.h>
- #include <shadow/pwauth.h>
- #endif
- ______________________________________________________________________
-
-
-
- NastΩpnym krokiem jest modyfikacja w│a╢ciwiego kodu. Ci▒gle
- modyfikujemy plik auth.c.
-
- Funkcja auth.c przed modyfikacj▒:
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- /*
- * login - Check the user name and password against the system
- * password database, and login the user if OK.
- *
- * returns:
- * UPAP_AUTHNAK: Login failed.
- * UPAP_AUTHACK: Login succeeded.
- * In either case, msg points to an appropriate message.
- */
- static int
- login(user, passwd, msg, msglen)
- char *user;
- char *passwd;
- char **msg;
- int *msglen;
- {
- struct passwd *pw;
- char *epasswd;
- char *tty;
-
- if ((pw = getpwnam(user)) == NULL) {
- return (UPAP_AUTHNAK);
- }
- /*
- * XXX If no passwd, let them login without one.
- */
- if (pw->pw_passwd == '\0') {
- return (UPAP_AUTHACK);
- }
-
- epasswd = crypt(passwd, pw->pw_passwd);
- if (strcmp(epasswd, pw->pw_passwd)) {
- return (UPAP_AUTHNAK);
- }
-
- syslog(LOG_INFO, "user %s logged in", user);
-
- /*
- * Write a wtmp entry for this user.
- */
- tty = strrchr(devname, '/');
- if (tty == NULL)
- tty = devname;
- else
- tty++;
- logwtmp(tty, user, ""); /* Add wtmp login entry */
- logged_in = TRUE;
-
- return (UPAP_AUTHACK);
- }
- ______________________________________________________________________
-
-
-
- Has│o u┐ytkownika jest umieszczane w pw->pw_passwd, tak ┐e wszystko co
- musimy zrobiµ, to dodaµ funkcjΩ getspnam. Umie╢ci to has│o w
- spwd->sp_pwdp.
-
- Dodamy funkcjΩ pwauth, aby przeprowadziµ w│a╢ciw▒ autentykacjΩ.
- Przeprowadzi to tak┐e drug▒ autentykacjΩ je╢li plik shadow jest
- odpowiednio ustawiony.
-
- Funkcja auth.c po modyfikacji do obs│ugi hase│ przes│anianych:
-
-
- ______________________________________________________________________
- /*
- * login - Check the user name and password against the system
- * password database, and login the user if OK.
- *
- * This function has been modified to support the Linux Shadow Password
- * Suite if USE_SHADOW is defined.
- *
- * returns:
- * UPAP_AUTHNAK: Login failed.
- * UPAP_AUTHACK: Login succeeded.
- * In either case, msg points to an appropriate message.
- */
- static int
- login(user, passwd, msg, msglen)
- char *user;
- char *passwd;
- char **msg;
- int *msglen;
- {
- struct passwd *pw;
- char *epasswd;
- char *tty;
-
- #ifdef USE_SHADOW
- struct spwd *spwd;
- struct spwd *getspnam();
- #endif
-
- if ((pw = getpwnam(user)) == NULL) {
- return (UPAP_AUTHNAK);
- }
-
- #ifdef USE_SHADOW
- spwd = getspnam(user);
- if (spwd)
- pw->pw_passwd = spwd->sp-pwdp;
- #endif
-
- /*
- * XXX If no passwd, let NOT them login without one.
- */
- if (pw->pw_passwd == '\0') {
- return (UPAP_AUTHNAK);
- }
- #ifdef HAS_SHADOW
- if ((pw->pw_passwd && pw->pw_passwd[0] == '@'
- && pw_auth (pw->pw_passwd+1, pw->pw_name, PW_LOGIN, NULL))
- || !valid (passwd, pw)) {
- return (UPAP_AUTHNAK);
- }
- #else
- epasswd = crypt(passwd, pw->pw_passwd);
- if (strcmp(epasswd, pw->pw_passwd)) {
- return (UPAP_AUTHNAK);
- }
- #endif
-
- syslog(LOG_INFO, "user %s logged in", user);
-
- /*
- * Write a wtmp entry for this user.
- */
- tty = strrchr(devname, '/');
- if (tty == NULL)
- tty = devname;
- else
- tty++;
- logwtmp(tty, user, ""); /* Add wtmp login entry */
- logged_in = TRUE;
-
- return (UPAP_AUTHACK);
- }
- ______________________________________________________________________
-
-
-
- Po dok│adnym prze╢ledzaniu tego kodu oka┐e siΩ, ┐e zrobili╢my jeszcze
- jedn▒ zmianΩ. Oryginalna wersja pozwala│a na dostΩp (zwraca│a
- UPAP_AUTHACK) je╢li nie by│o has│a w pliku /etc/passwd. Nie jest to
- dobrze, poniewa┐ popularnym u┐yciem tej w│a╢ciwo╢ci programu login
- jest u┐ywanie jednego konta, na dostΩp do programu PPP, a potem
- sprawdzenie identyfikatora i has│a dostarczonych przez PAP z tymi w
- plikach /etc/passwd i /etc/shadow.
-
- Tak wiΩc je╢li ustwiliby╢my oryginaln▒ wersjΩ, aby uruchamia│a pow│okΩ
- dla u┐ytkownika np. ppp, to ka┐dy m≤g│by uzyskaµ po│▒czenie ppp przez
- podanie identyfikatora ppp i pustego has│a.
-
- Poprawili╢my to przez zwr≤cenie UPAP_AUTHNAK zamiast UPAP_AUTHACK
- je╢li pole z has│em jest puste.
-
- Interesuj▒ce jest to, ┐e pppd-2.2.0 ma ten sam problem.
-
- NastΩpnie musimy zmodyfikowaµ plik Makefile tak, ┐eby pojawi│y siΩ
- dwie rzeczy:
- USE_SHADOW musi byµ zdefiniowane i libshadow.a musi byµ dodana w
- procesie "linkowania".
-
- Wyedytuj plik Makefile i dodaj:
-
-
- LIBS = -lshadow
-
-
-
- Potem znajd╝ liniΩ:
-
-
- COMPILE_FLAGS = -I.. -D_linux_=1 -DGIDSET_TYPE=gid_t
-
-
-
- i zmie± j▒ na:
-
-
- COMPILE_FLAGS = -I.. -D_linux_=1 -DGIDSET_TYPE=gid_t -DUSE_SHADOW
-
-
-
- Teraz kompilacja i instalacja.
-
-
- 9. CzΩsto zadawane pytania.
-
-
- P: Kiedy╢ kontrolowa│em terminale z jakich m≤g│ siΩ logowaµ "root"
- przez plik /etc/securettys, teraz nie wygl▒da na to ┐eby dzia│a│o. Co
- jest grane ?
-
- O: Teraz kiedy pakiet Shadow Suite jest zainstalowany plik
- /etc/securettys nie ma ┐adnego znaczenia. Terminale, z kt≤rych mo┐e
- siΩ zalogowaµ "root" s▒ teraz podawane w pliku konfiguracyjnym
- /etc/login.defs. Pozycja w tym pliku mo┐e wskazywaµ na jaki╢ inny
- plik.
-
- P: Zainstalowa│em pakiet Shadow Suite i nie mogΩ siΩ zalogowaµ, co
- przegapi│em ?
-
- O; Przypuszczalnie zainstalowa│e╢ pakiet i zapomnia│e╢ uruchomiµ
- program pwconv albo zapomnia│e╢ skopiowaµ /etc/npasswd na /etc/passwd
- oraz /etc/nshadow na /etc/shadow. Mo┐esz musisz tak┐e skopiowaµ
- login.defs do /etc.
-
- P: W sekcji o "xlock-u" by│o napisane, ┐eby zmieniµ grupΩ pliku
- /etc/shadow na shadow, ale ja nie mam takiej grupy - co mam zrobiµ ?
-
- O: Mo┐esz j▒ dodaµ. Po prostu wyedytuj plik /etc/group i dodaj liniΩ
- definiuj▒c▒ grupΩ shadow. Musisz siΩ upewniµ, ┐e numer grupy nie jest
- u┐ywany przez ┐adn▒ inn▒ i musisz j▒ dodaµ przed pozycj▒ nogroup. Albo
- po prostu ustaw bit SUID dla programu xlock.
-
- P: Jest jaka╢ lista dyskusyjna dla Linux Shadow Password Suite ?
-
- O: Tak, ale jest ona dla rozwijaj▒cych ten pakiet i dla testuj▒cych
- wersje BETA. Mo┐esz siΩ zapisaµ na tΩ listΩ wysy│aj▒c list na adres
- shadow-list-request@neptune.cin.net o tytule subscribe. Na li╢cie tej
- dyskutuje siΩ w│a╢ciwie o konkretnej serii shadow-YYMMSS. Powiniene╢
- siΩ na ni▒ zapisaµ je╢li chcesz byµ w│▒czony do dalszego rozwoju albo
- je╢li zainstalowa│e╢ sobie ten pakiet i chcesz wiedzieµ o nowszych
- wersjach.
-
- P: Zainstalowa│em Shadow Suite, ale kiedy u┐ywam polecenia userdel
- dostajΩ: "userdel: cannot open shadow group file" - co zrobi│em ╝le ?
-
- O: Skompilowa│e╢ pakiet z w│▒czon▒ opcj▒ SHADOWGRP, ale nie masz pliku
- /etc/gshadow. Musisz albo wyedytowaµ plik config.h i skompilowaµ
- ponownie pakiet albo stworzyµ plik /etc/gshadow. Zobacz sekcjΩ
- dotycz▒c▒ przes│anianych grup.
-
- P: Zainstalowa│em Shadow Suite, ale zakodowane has│a pojawiaj▒ siΩ w
- pliku /etc/passwd, co jest ?
-
- O: Albo w│aczy│e╢ opcjΩ AUTOSHADOW w pliku config.h, albo twoja
- biblioteka libc by│a skompilowana z opcj▒ SAHDOW_COMPAT. Musisz
- dowiedzieµ siΩ, kt≤re z tych dw≤ch jest prawdziwe i skompilowaµ
- ponownie.
-
-
- 10. Prawa autorskie podziΩkowania i r≤┐ne.
-
- 10.1. Prawa autorskie
-
-
- Linux Shadow Password HOWTO jest chronione prawami autorskimi Michaela
- H. Jacksona.
-
- Dozwolone jest dystrybuowanie kopii tego dokumentu zak│adaj▒c, ┐e
- wzmianka o prawach autorskich i to pozwolenie jest zawarte we
- wszystkich kopiach.
-
- Dozwolone jest dytrybuowanie i kopiowanie modyfikowanych wersji tego
- dokumentu pod warunkami kopiowania z powy┐szego akapitu, zak│adaj▒c,
- ┐e zawarta jest jasna informacja, ┐e jest to wersja modyfikowana tego
- dokumentu.
-
- Dozwolone jest kopiowanie i dystrybucja t│umacze± tego dokumentu na
- inne jΩzyki pod warunkami dla wersji modyfikowanych wymienionymi
- wy┐ej.
-
- Dozwolone jest konwertowanie tego dokumentu na inne media pod
- warunkami podanymi powy┐ej dla wersji modyfikowanych zak│adaj▒c, ┐e
- informacja o ╝r≤dle nowego dokumentu jest zawarta przez oczywisty
- odno╢nik do dokumentu ╝r≤d│owego w nowej wersji tego dokumentu. Je╢li
- wystΩpuj▒ jakie╢ w▒tpliow╢ci co do s│owa "oczywiste", w│a╢ciciel praw
- autorskich rezerwuje sobie prawo decyzji.
-
-
- 10.2. PodziΩkowania i r≤┐ne.
-
-
- Przyk│ady kod≤w dla auth.c zosta│y wziΩte z pppd-1.2.1d i ppp-2.1.0e,
- Copyright (c) 1993 and The Australian National University oraz
- Copyright (c) 1989 Carnegie Mellon University.
-
- PodziΩkowania dla Marka Micha│kiewicza
- <marekm@i17linuxb.ists.pwr.wroc.pl> za napisanie i opiekΩ nad pakietem
- Shadow Suite dla Linux-a oraz za przejrzenie i komentarze do tego
- dokumentu.
-
- PodziΩkowania dla Rona Tidda <rtidd@tscnet.com> za jego pomocne
- przejrzenie i testowanie.
-
- PodziΩkowania dla wszystkich, kt≤rzy przys│ali do mnie komentarze, aby
- pom≤c w ulepszeniu tego dokumentu.
-
- Je╢li masz jakie╢ uwagi lub sugestie to napisz do mnie proszΩ,
- z powa┐aniem
-
- Michael H. Jackson <mhjack@tscnet.com>
-
-
- 10.3. Od t│umacza.
-
-
- T│umaczenie to jest chronione prawami autorskimi (C) Bartosza
- Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na
- prawach takich samych jak dokument oryginalny.
-
- Je╢li znalaz│e╢ jakie╢ ra┐▒ce b│Ωdy ortograficzne, gramatyczne,
- sk│adniowe, techniczne to pisz do mnie:
-
- B.Maruszewski@zsmeie.torun.pl
-
- Oficjaln▒ stron▒ t│umacze± HOWTO jest http://www.jtz.org.pl/
-
- Aktualne wersje przet│umaczonych dokument≤w znajduj▒ siΩ na tej┐e
- stronie. DostΩpne s▒ tak┐e poprzez anonimowe ftp pod adresem
- ftp.ippt.gov.pl w katalogu /pub/Linux/JTZ/.
-
- Przet│umaczone przeze mnie dokumenty znajduj▒ siΩ tak┐e na mojej
- stronie WWW. <http://www.zsmeie.torun.pl/~bart/tlumaczenie.html> S▒
- tam te┐ odwo│ania do Polskiej Strony T│umaczeniowej.
-
- Kontakt z nasz▒ grup▒, grup▒ t│umaczy mo┐esz uzyskaµ poprzez listΩ
- dyskusyjn▒ jtz@ippt.gov.pl. Je╢li chcesz sie na ni▒ zapisaµ, to wy╢lij
- list o tre╢ci subscribe jtz ImiΩ Nazwisko na adres
- listproc@ippt.gov.pl
-
- Zmiany w tym dokumencie wprowadzone przez t│umacza to:
-
- ╖ - "chmod 700 /etc/login/defs" na "chmod 600 /etc/login.defs" plik
- ten nie musi byµ wykonywalny,
-
- ╖ - "cp passwd ~passwd" na "cp passwd ~/passwd" - ewidentna liter≤wka
- autora
-
- ╖ - "chmod 600 ~passwd" na "chmod 600 ~/passwd" - to samo
-
- ╖ - przy zmianie grupy pliku /etc/shadow dodane "cd /etc"
-
- ╖ - oraz polskie serwery WWW i ftp.
-
- } Od t│umacza.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-